Rumah > Artikel > pangkalan data > Bagaimana untuk mencapai replikasi dan penyegerakan data dalam MySQL?
MySQL ialah salah satu sistem pengurusan pangkalan data hubungan yang paling popular pada masa ini. Ia menyokong replikasi dan penyegerakan data untuk mencapai ketersediaan tinggi dan perlindungan data. Artikel ini akan memperkenalkan cara melaksanakan replikasi dan penyegerakan data dalam MySQL dan menyediakan beberapa contoh kod.
1. Prinsip asas replikasi data MySQL
Replikasi data MySQL dicapai dengan menyalin data dari satu pangkalan data ke pangkalan data yang lain. Ia berdasarkan model replikasi induk-hamba, di mana satu pangkalan data bertindak sebagai pelayan induk, bertanggungjawab untuk menerima dan memproses semua operasi tulis manakala pangkalan data lain bertindak sebagai pelayan hamba, bertanggungjawab untuk meminta dan mendapatkan kemas kini data daripada pelayan induk. Replikasi data dicapai dengan memindahkan log binari pada pelayan induk ke pelayan hamba.
[mysqld]
server-id=1
log-bin=mysql-bin
di mana server-id ialah pengecam unik pelayan utama, dan log- bin menentukan Nama fail log binari.
Kemudian, mulakan semula perkhidmatan MySQL untuk konfigurasi berkuat kuasa.
[mysqld]
server-id=2
relay-log=mysql-relay-bin
log-slave-updates=1
dari mana server-id Pengecam unik pelayan, log geganti menentukan nama fail log geganti, dan kemas kini log-hamba menunjukkan sama ada pelayan hamba merekodkan log binari.
Kemudian, mulakan semula perkhidmatan MySQL untuk konfigurasi berkuat kuasa. . replication'@'%';
TUKAR MASTER KE MASTER_HOST='IP pelayan utama', MASTER_USER='replikasi', MASTER_PASSWORD='kata laluan', MASTER_LOG_FILE='Nama fail log binari', MASTER_LOG_POS=lokasi;Kemudian, mulakan fungsi pelayan replikasi hamba :
MULAKAN BUDAK ;
2. Cara melaksanakan penyegerakan data MySQL
Penyegerakan data MySQL merujuk kepada memastikan data antara pelbagai pangkalan data konsisten untuk memastikan masa nyata dan konsistensi data. Berikut memperkenalkan beberapa kaedah pelaksanaan penyegerakan data biasa.Penyegerakan data berdasarkan binlog
Log binari MySQL merekodkan semua operasi tulis dalam pangkalan data Kita boleh menggunakan log binari untuk mencapai penyegerakan data. Langkah-langkah khusus adalah seperti berikut:(1) Dayakan fungsi log binari pada pelayan induk dan konfigurasikan format binlog ke ROW:
binlog_format=ROW
MULAKAN
MASUKKAN KE DALAM NILAI nama jadual (NEW.Field 1, NEW.Field 2, ...);END$$
DELIMITER Apabila data pada pelayan induk berubah, pencetus akan melaksanakan operasi INSERT yang sepadan pada pelayan hamba untuk mencapai penyegerakan data.
Penyegerakan data berdasarkan lajur auto-kenaikan kunci utamaApabila menyegerakkan data antara berbilang pangkalan data, konflik kunci utama sering dihadapi. Satu penyelesaian ialah menggunakan lajur autokenaikan kunci utama untuk memastikan kunci utama tidak diduplikasi antara pangkalan data yang berbeza.
Langkah khusus adalah seperti berikut:
(1) Apabila mencipta jadual dalam setiap pangkalan data, tetapkan medan kunci utama kepada lajur kenaikan automatik.
(2) Apabila memasukkan data ke dalam setiap pangkalan data, tidak perlu menentukan nilai medan kunci utama, pangkalan data akan menjana nilai kunci primer yang unik untuknya secara automatik.
id INT AUTO_INCREMENT PRIMARY KUNCI,
Field 1 VARCHAR(50),Field 2 VARCHAR(50)
)(MASUKKAN Nama Medan 2, ERT MASUKKAN nama 1) VALUES ('Data 1', 'Data 2');
Penyegerakan data berasaskan alatSelain kaedah penyegerakan data berdasarkan binlog dan lajur auto-kenaikan kunci utama, terdapat juga beberapa alatan pihak ketiga yang boleh mencapai Penyegerakan data MySQL, seperti Maxwell dan Debezium et al. Alat ini boleh menghuraikan log binari pangkalan data dan menukarnya kepada format yang boleh dibaca untuk mencapai penyegerakan data.
Belum ada contoh kod Sila rujuk dokumentasi rasmi dan contoh penggunaan alat tersebut.
Ringkasan:
Artikel ini memperkenalkan kaedah untuk mencapai replikasi dan penyegerakan data dalam MySQL, serta contoh kod yang berkaitan. Melalui replikasi dan penyegerakan data, kami boleh mencapai ketersediaan tinggi pangkalan data dan perlindungan data, dan meningkatkan kestabilan dan kebolehpercayaan sistem. Pada masa yang sama, memilih kaedah dan alat yang sesuai berdasarkan keperluan sebenar dapat memenuhi keperluan perniagaan dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk mencapai replikasi dan penyegerakan data dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!