gemeinsame Abfrage (zwei verschiedene Bibliotheken, die Bibliothek „myemployees“ und die Bibliothek „shoppingCart“) befinden sich auf demselben physischen Host, beide auf meinem lokalen Computer.
#联合查询(不同的2个库,myemployees库和shoppingCart库) SELECT emp01.`employee_id`, emp01.`first_name` FROM myemployees.employees AS emp01 LIMIT 0, 5 UNION SELECT emp02.`employee_id`, emp02.`first_name` FROM shoppingCart.`employees2` AS emp02; # SELECT emp01.`employee_id`, emp01.`first_name` FROM myemployees.employees AS emp01 LIMIT 0, 5 UNION ALL SELECT emp02.`employee_id`, emp02.`first_name` FROM shoppingCart.`employees2` AS emp02;
Um den Effekt zu demonstrieren, verwende ich hier meine virtuelle Maschine und die Das Linux-System ist in meiner virtuellen Maschine (Centos) installiert, die MySQL-Datenbank wurde im Linux-System installiert, der MySQL-Datenbankdienst wurde gestartet und alle Umgebungen wurden fertiggestellt.
Die IP meines Linux-Systems (Centos) ist 192.168.117.66. Ich habe vor, eine gemeinsame Abfrage zwischen meiner lokalen Autorentabelle und der Remote-Benutzertabelle durchzuführen.
Nachdem wir unter Linux SHOW CREATE TABLE `user`; Die Anweisung besteht, um es klar auszudrücken, darin, eine Verknüpfung zur Remote-Datenbankverbindung (Remote-Datenbankverbindungsverknüpfung) in meiner lokalen Datenbank zu erstellen. Es ähnelt der Desktop-Verknüpfung auf dem Desktop in unserem Windows-Betriebssystem. Wir können ein Softwaresymbol öffnen, indem wir auf den Desktop doppelklicken.
Führen Sie einfach die obige Anweisung aus.
Übrigens gibt es noch etwas zu beachten:
Sie müssen überprüfen, ob die
FEDERATED-EngineIhrer lokalen MySQL-Datenbank aktiviert ist.
CREATE TABLE IF NOT EXISTS `user` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(20) DEFAULT NULL )
Ändern Sie die Konfigurationsdatei der lokalen MySQL-Datenbank und fügen Sie federated am Ende der Konfigurationsdatei hinzu, wie unten gezeigt:
Wenn Sie ein Windows-System verwenden, ändern Sie die Datei my.ini
. Wenn Sie ein Linux-System verwenden, ändern Sie die Dateimy.cnf.
Denken Sie daran, den MySQL-Dienst neu zu starten, nachdem Sie die Konfigurationsdatei geändert haben.
Linux startet den MySQL-Dienst neu, Dienst MySQL neu starten
.Starten Sie den MySQL-Dienst in Windows neu. Geben Sie im DOS-Fenster den Namen des Net Stop MySQL-Dienstes und dann den Namen des Net Start MySQL-Dienstes ein.
OK, nachdem alles erledigt ist, führen Sie die folgende SQL-Anweisung aus, um die Abfrageergebnisse der datenbankübergreifenden Abfrage anzuzeigen.ENGINE =FEDERATED CONNECTION='mysql://root:root@192.168.117.66:3306/testDB/user';这句话。
CREATE TABLE IF NOT EXISTS `user` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(20) DEFAULT NULL )ENGINE =FEDERATED CONNECTION='mysql://root:root@192.168.117.66:3306/testDB/user';
Bei der oben genannten server- und datenbankübergreifenden Abfrage müssen Sie die folgenden Punkte beachten: 1. Diese datenbankübergreifende Abfragemethode unterstützt keine Transaktionen Es ist am besten, keine Transaktionen zu verwenden.
2. Die Tabellenstruktur kann nicht geändert werden.
3.MySQL verwendet diese datenbankübergreifende Abfragemethode. Die Remote-Datenbank unterstützt derzeit nur MySQL und andere Datenbanken unterstützen sie nicht.4. Die Tabellenstruktur muss vollständig mit der Zieldatenbanktabelle übereinstimmen.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine gemeinsame MySQL-Remote-Datenbank-übergreifende Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!