Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Pertanyaan PILIHAN MySQL Pelayan Silang Menggunakan Jadual Bersekutu?
MySQL menyediakan mekanisme untuk menanyakan data merentas pelayan pangkalan data yang berbeza melalui penggunaan jadual bersekutu. Ini amat berguna apabila pelayan terletak berasingan dan sambungan langsung tidak dapat dilaksanakan.
Dalam senario yang anda nyatakan, dengan dua pelayan MySQL pada 1.2.3.4 dan a.b.c.d, setiap satu mengehoskan pangkalan data bernama Test, anda boleh gunakan jadual bersekutu untuk memilih baris daripada satu pelayan dan memasukkannya ke dalam jadual pada yang lain.
Untuk mencipta meja persekutuan, anda perlu mewujudkan terowong SSH di antara kedua-dua pelayan. Ini akan membolehkan anda menyambung ke satu pelayan (pelayan jauh) melalui yang lain (pelayan tempatan).
Setelah terowong SSH ditubuhkan, anda boleh mencipta jadual bersekutu pada pelayan tempatan seperti berikut:
CREATE TABLE federated_table ( id INT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(32) NOT NULL DEFAULT '', other INT(20) NOT NULL DEFAULT '0', INDEX name (name), INDEX other_key (other) ) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://fed_user@remote_host:port/database_name/table_name';
di mana:
Setelah bersekutu jadual dibuat, anda boleh melaksanakan pertanyaan SELECT padanya untuk mendapatkan semula data daripada jadual jauh. Hasil pertanyaan kemudiannya boleh dimasukkan ke dalam jadual pada pelayan tempatan menggunakan pernyataan INSERT.
Berikut ialah contoh pertanyaan yang memilih baris daripada jadual bersekutu dan memasukkannya ke dalam jadual tempatan bernama local_table:
INSERT INTO local_table (id, name, other) SELECT id, name, other FROM federated_table;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan PILIHAN MySQL Pelayan Silang Menggunakan Jadual Bersekutu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!