Heim > Datenbank > MySQL-Tutorial > Wie kann ich Tabellen über verschiedene MySQL-Server hinweg verbinden?

Wie kann ich Tabellen über verschiedene MySQL-Server hinweg verbinden?

DDD
Freigeben: 2024-12-18 12:30:11
Original
879 Leute haben es durchsucht

How Can I Join Tables Across Different MySQL Servers?

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';
Nach dem Login kopieren

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage