Oracle Database Link – ¿Equivalente de MySQL?

El enlace de la base de datos de Oracle permite al usuario consultar en múltiples bases de datos físicas.

¿Hay algún equivalente MySQL? ¿Solución alternativa?

Quiero ejecutar una consulta de combinación en dos tablas, que están en dos bases de datos físicas. ¿Es posible en MySQL?

Puedo pensar en cuatro posibles soluciones para su escenario:

  1. utilice nombres de tabla totalmente calificados cuando consulte la tabla externa . MySQL admite dbname.tablename -syntax para acceder a tablas fuera del scope actual de la base de datos. Esto requiere que el usuario actualmente conectado tenga los derechos apropiados para leer de la tabla solicitada en otra base de datos física.
  2. si su base de datos externa se ejecuta en un servidor MySQL diferente (ya sea en la misma máquina o a través de una conexión de red) puede usar la replicación para actualizar constantemente una copia de solo lectura de la tabla remota. La replicación solo es posible si está ejecutando dos instancias de MySQL por separado.
  3. utilice el motor de almacenamiento FEDERATED MySQL para importar virtualmente la tabla en su base de datos actual. Esto elimina el requisito de otorgar derechos de acceso al usuario actual en la segunda base de datos ya que las credenciales se dan con la indicación CREATE TABLE cuando se utiliza el motor de almacenamiento FEDERATED . Esto también funciona con las bases de datos que se ejecutan en diferentes servidores físicos o diferentes instancias de MySQL. Creo que esta será la opción de rendimiento más pobre y tiene algunas limitaciones , más o menos importantes según su escenario de uso y sus requisitos.
  4. Esta es una extensión del método 1. En lugar de tener que especificar los nombres de tablas totalmente calificados cada vez que solicita información de su tabla externa , simplemente puede crear una vista dentro de su base de datos actual basada en un simple SELECT < > FROM < >.< > . Esto se parece al modo, el método FEDERATED funciona, pero está limitado a tablas en la misma instancia de MySQL.

    Personalmente, consideraría el método (4) como el más útil, pero los demás también podrían ser posibles soluciones dependiendo de sus requisitos.

    No hay un método equivalente de MySQL en este momento, mira esta publicación . Sin embargo, como el póster sugiere que puede realizar una reparación si las bases de datos están en la misma máquina, solo agregue el nombre de la base de datos delante del nombre de la tabla.

    También vea esto , tiene 6 años, pero aún no se resuelve. Está cerrado y probablemente ya no esté en su lista de tareas pendientes.