Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Oracle Database Link - MySQL-Äquivalent?

Mir fallen vier mögliche Problemumgehungen für Ihr Szenario ein:

  1. Verwenden Sie vollständig qualifizierte Tabellennamen, wenn Sie nach extern fragen Tisch. MySQL unterstützt den dbname.tablename -Syntax für den Zugriff auf Tabellen außerhalb des aktuellen Datenbankbereichs. Dies erfordert, dass der aktuell verbundene Benutzer die entsprechenden Rechte hat, um aus der angeforderten Tabelle in einer anderen physischen Datenbank zu lesen.
  2. Wenn Ihre externe Datenbank auf einem anderen MySQL-Server läuft (entweder auf demselben Rechner oder über eine Netzwerkverbindung), könnten Sie die Replikation verwenden, um ständig eine schreibgeschützte Kopie der entfernten Tabelle zu aktualisieren. Die Replikation ist nur möglich, wenn Sie zwei separate MySQL-Instanzen ausführen.
  3. Verwenden Sie den FEDERATED MySQL-Speicher-Engine virtuell importieren die Tabelle in Ihre aktuelle Datenbank. Dies hebt die Anforderung auf, dem aktuellen Benutzer Zugriffsrechte auf die zweite Datenbank zu geben, da die Anmeldeinformationen mit CREATE TABLE angegeben werden -Anweisung bei Verwendung von FEDERATED Speicher-Engine. Dies funktioniert auch mit Datenbanken, die auf verschiedenen physischen Servern oder verschiedenen MySQL-Instanzen laufen. Ich denke, dass dies die leistungsschwächste Option sein wird und einige Einschränkungen - je nach Nutzungsszenario und Anforderungen mehr oder weniger wichtig.
  4. Dies ist eine Erweiterung von Methode 1. Anstatt die vollständig qualifizierten Tabellennamen jedes Mal angeben zu müssen, wenn Sie Informationen von Ihrem externen anfordern Tabelle können Sie einfach eine Ansicht erstellen innerhalb Ihrer aktuellen Datenbank basierend auf einem einfachen SELECT <<columns>> FROM <<database>>.<<table>> . Diese ähneln übrigens dem FEDERATED -method funktioniert, ist aber auf Tabellen auf derselben MySQL-Instanz beschränkt.

Ich persönlich würde Methode (4) als die nützlichste betrachten - aber die anderen könnten je nach Ihren Anforderungen auch mögliche Workarounds sein.