Tabellen von separaten Servern in MySQL verbinden
Beim Versuch, Tabellen von zwei unterschiedlichen Servern, Server1 und Server2, zu verbinden, können Fehler auftreten. Hier ist der Ansatz, um diese Herausforderung mit der FEDERATED ENGINE von MySQL zu meistern:
Verwendung einer föderierten Tabelle
Um die Lücke zwischen Servern zu schließen, erstellen Sie eine föderierte Tabelle basierend auf der Remote-Tabelle . Die Struktur beider Tabellen muss identisch bleiben.
Beispielcode:
Erstellen Sie eine föderierte Tabelle namens federated_table basierend auf einer Remote-Tabelle namens test_table:
CREATE TABLE federated_table ( id INT(20) NOT NULL AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', PRIMARY KEY (id), INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
Durch die Einrichtung der Verbundverbindung können Sie Tabellen serverübergreifend verbinden, als ob sie es wären lokal:
SELECT a.field1, b.field2 FROM federated_table AS a INNER JOIN [server2, 3312].[db2].table2 AS b ON a.field1 = b.field2;
Hinweis: Das Fed_user-Konto muss auf beiden Servern über entsprechende Berechtigungen verfügen, um die Verbundverbindung herzustellen.
Das obige ist der detaillierte Inhalt vonWie kann ich Tabellen über verschiedene MySQL-Server hinweg verbinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!