Einführung
Bei der Datenbankverarbeitung handelt es sich häufig um Szenarien, in denen Daten auf mehreren Servern gespeichert sind Systeme. Um diese Herausforderung zu meistern, führen Anbieter wie SQL Server und Oracle Konzepte wie Linked Server bzw. dblink ein. Aber was ist, wenn Sie MySQL verwenden? Ist eine gleichwertige Funktionalität verfügbar?
MySQLs FEDERATED Engine: Das Konzept verstehen
Während MySQL nativ keine exakte Nachbildung des Linked Servers von SQL Server oder von Oracles dblink unterstützt , bietet die FEDERATED-Engine ähnliche Funktionen. Mit der FEDERATED-Engine können Sie auf Tabellen in anderen MySQL-Instanzen zugreifen, als wären es lokale Tabellen.
Konfigurieren der FEDERATED Engine (MySQL 5.5)
[mysqld] federated = ON
CREATE FOREIGN DATA SOURCE example_ds OPTIONS ( LINK 'mysql://user:pass@host:port/dbname' );
CREATE TABLE example_local LIKE example_remote;
Verwendung der FEDERATED-Tabelle
Nach der Konfiguration können Sie über die lokale Wrapper-Tabelle auf die Remote-MySQL-Tabelle zugreifen als wäre es ein lokaler Tisch. Zum Beispiel:
SELECT * FROM example_local;
Einschränkungen
Die FEDERATED-Engine bietet zwar Linked-Server-ähnliche Funktionalität, weist jedoch Einschränkungen auf:
Alternative: MySQL Proxy
Wenn Sie eine Verbindung zu Nicht-MySQL-Datenquellen benötigen, ziehen Sie MySQL Proxy in Betracht. Obwohl es nicht der gleichen Architektur wie Linked Server/dblink folgt, bietet es Lösungen für ähnliche Konnektivitätsherausforderungen.
Das obige ist der detaillierte Inhalt vonBietet MySQL ein Linked-Server-Äquivalent für den Zugriff auf Remote-Datenbanken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!