MySQL Cross-Server Select Queries: Panduan Terperinci
Apabila bekerja dengan berbilang pelayan MySQL yang tersebar secara geografi, keperluan untuk silang- manipulasi data pelayan timbul. Satu senario sedemikian ialah keperluan untuk memilih data daripada jadual pada satu pelayan dan memasukkannya ke dalam jadual pada pelayan lain yang terletak jarak jauh.
Untuk menangani cabaran ini, MySQL menyediakan keupayaan untuk mewujudkan terowong SSH untuk memudahkan keselamatan komunikasi antara pelayan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa mengakses terus jadual merentas pelayan melalui terowong SSH tidak disokong oleh MySQL.
Sebaliknya, ciri berkuasa yang dipanggil jadual bersekutu menawarkan penyelesaian yang elegan untuk masalah ini. Dengan jadual bersekutu, anda boleh mencipta jadual proksi setempat yang mewakili jadual jauh pada pelayan lain. Ini membolehkan anda melaksanakan pertanyaan terhadap jadual bersekutu tempatan seolah-olah jadual jauh secara fizikal hadir pada pelayan tempatan.
Mencipta Jadual Bersekutu
Untuk mencipta jadual bersekutu , anda mesti terlebih dahulu menentukan jadual jauh pada pelayan di mana ia berada. Setelah jadual jauh ditubuhkan, anda boleh meneruskan untuk mencipta jadual bersekutu pada pelayan tempatan menggunakan sintaks berikut:
CREATE TABLE federated_table ( <column definitions> ) ENGINE=FEDERATED CONNECTION='mysql://<username>@<remote_host>:<port>/<database>/<table_name>';
Dalam contoh ini, atribut CONNECTION menentukan butiran jadual jauh, termasuk nama pangkalan data, nama jadual, nama pengguna dan kata laluan.
Melaksanakan Pelayan Silang Pertanyaan
Setelah jadual bersekutu telah dibuat, anda boleh melaksanakan pertanyaan pilih silang pelayan seolah-olah jadual jauh adalah setempat. Sebagai contoh, pertimbangkan pertanyaan berikut:
SELECT * FROM federated_table WHERE <condition>;
Pertanyaan ini akan mendapatkan semula data daripada jadual jauh yang dinyatakan dalam atribut CONNECTION bagi jadual bersekutu. Hasil pertanyaan akan tersedia secara setempat, seolah-olah ia diperoleh daripada jadual pada pelayan setempat.
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan SELECT Silang Pelayan dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!