Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melaksanakan Pertanyaan PILIH MySQL Pelayan Silang Menggunakan Jadual Bersekutu dan Terowong SSH?

Bagaimanakah Saya Boleh Melaksanakan Pertanyaan PILIH MySQL Pelayan Silang Menggunakan Jadual Bersekutu dan Terowong SSH?

Patricia Arquette
Lepaskan: 2024-12-01 13:31:12
asal
775 orang telah melayarinya

How Can I Perform Cross-Server MySQL SELECT Queries Using Federated Tables and SSH Tunnels?

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:

  1. Tubuhkan terowong SSH untuk menyambungkan dua pelayan.
  2. Tentukan jadual pada alat kawalan jauh pelayan.
  3. Buat jadual bersekutu pada pelayan tempatan yang menghala ke jadual jauh. Gunakan sintaks berikut:
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';
Salin selepas log masuk
  1. Setelah jadual persekutuan dibuat, anda boleh menanyakannya seolah-olah ia adalah jadual tempatan. Jadual persekutuan akan mengendalikan komunikasi dengan pelayan jauh secara telus.

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';
Salin selepas log masuk

Setelah jadual persekutuan dibuat, anda boleh membuat pertanyaan seperti berikut:

SELECT * FROM federated_table;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan