Menyertai Jadual daripada Pelayan Berasingan dalam MySQL
Percubaan untuk menyertai jadual daripada dua pelayan berbeza, pelayan1 dan pelayan2, mungkin menghadapi ralat. Berikut ialah pendekatan untuk mengatasi cabaran ini menggunakan ENJIN BERSEKUTU MySQL:
Menggunakan Jadual Bersekutu
Untuk merapatkan jurang antara pelayan, cipta jadual bersekutu berdasarkan jadual jauh . Struktur kedua-dua jadual mesti kekal sama.
Contoh Kod:
Buat jadual bersekutu yang dipanggil federated_table berdasarkan jadual jauh bernama 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';
Dengan mewujudkan sambungan bersekutu, anda boleh menyertai jadual merentas pelayan seolah-olah ia local:
SELECT a.field1, b.field2 FROM federated_table AS a INNER JOIN [server2, 3312].[db2].table2 AS b ON a.field1 = b.field2;
Nota: Akaun fed_user mesti mempunyai kebenaran yang sesuai pada kedua-dua pelayan untuk mewujudkan sambungan bersekutu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyertai Jadual Merentasi Pelayan MySQL yang Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!