MySQL Cross-Server Select Query melalui SSH Tunnel dan Federated Tables
Untuk melaksanakan pertanyaan pilih silang pelayan menggunakan MySQL, pendekatan biasa adalah untuk mencipta jadual bersekutu pada salah satu pelayan. Dengan mencipta jadual bersekutu berdasarkan jadual jauh, anda boleh menanyakan data seolah-olah semuanya terletak secara setempat.
Langkah:
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';
Contoh:
Pertimbangkan persediaan berikut:
Server IP | Database |
---|---|
1.2.3.4 | Test |
a.b.c.d | Test |
Anda boleh mencipta jadual bersekutu pada pelayan 1.2.3.4 untuk mengakses jadual pada pelayan a.b.c.d menggunakan yang berikut pertanyaan:
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@a.b.c.d:9306/Test/test_table';
Setelah jadual persekutuan dibuat, anda boleh membuat pertanyaan seperti berikut:
SELECT * FROM federated_table;
Pertanyaan ini akan mendapatkan semula baris daripada jadual test_table pada pelayan a.b.c.d.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan PILIH MySQL Pelayan Silang Menggunakan Jadual Bersekutu dan Terowong SSH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!