Dalam mysql, replikasi induk-hamba bermaksud data boleh disalin daripada nod induk pelayan pangkalan data MySQL kepada satu atau lebih nod hamba tidak segerak digunakan secara lalai. Faedah menggunakan replikasi tuan-hamba: 1. Biarkan pangkalan data induk bertanggungjawab untuk menulis dan pangkalan data hamba bertanggungjawab untuk membaca Apabila pangkalan data induk mengunci jadual, operasi normal perniagaan boleh dipastikan dengan membaca daripada hamba pangkalan data; 2. Sandaran data panas boleh dilakukan 3. Memperluaskan seni bina boleh mengurangkan kekerapan akses I/O cakera dan meningkatkan prestasi I/O satu mesin.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Apakah replikasi master-slave mysql?
Replikasi master-slave MySQL bermakna data boleh disalin daripada nod induk pelayan pangkalan data MySQL kepada satu atau lebih nod hamba. MySQL menggunakan replikasi tak segerak secara lalai, supaya nod hamba tidak perlu mengakses pelayan induk sepanjang masa untuk mengemas kini datanya sendiri Pengemaskinian data boleh dilakukan pada sambungan jauh Nod hamba boleh menyalin semua pangkalan data atau pangkalan data tertentu pangkalan data induk, atau jadual tertentu.
Mengapa replikasi tuan-hamba diperlukan?
1 Dalam sistem dengan perniagaan yang kompleks, terdapat situasi di mana pernyataan SQL memerlukan kunci jadual, mengakibatkan ketidakupayaan sementara untuk menggunakan perkhidmatan baca, yang sangat mempengaruhi berjalan. perniagaan. , gunakan replikasi tuan-hamba, biarkan perpustakaan utama bertanggungjawab untuk menulis, dan perpustakaan hamba bertanggungjawab untuk membaca Dengan cara ini, walaupun perpustakaan utama mengunci meja, operasi biasa perniagaan boleh dijamin oleh membaca dari perpustakaan hamba.
2. Sandaran data hangat
3. Jumlah perniagaan semakin besar dan lebih besar, dan kekerapan akses I/O terlalu tinggi, yang tidak dapat dipenuhi oleh satu mesin Pada masa ini, storan berbilang pangkalan data digunakan untuk mengurangkan kekerapan akses I/O cakera dan meningkatkan prestasi I/O satu mesin.
prinsip replikasi mysql
Prinsip:
(1) Pelayan induk menukar data Rekod log binlog binari Apabila data pada induk berubah, perubahan ditulis pada log binari
(2) Pelayan hamba akan mengesan sama ada ia berlaku dalam log binari induk dalam selang masa tertentu; . Perubahan, jika perubahan berlaku, mulakan I/Othread untuk meminta acara binari induk
(3) Pada masa yang sama, nod induk memulakan benang dump untuk setiap utas I/O untuk menghantar acara binari padanya dan simpannya. Kepada log geganti setempat nod hamba, nod hamba akan memulakan benang SQL untuk membaca log perduaan daripada log geganti dan memainkannya semula secara tempatan untuk menjadikan datanya konsisten dengan nod induk , I/OThread dan SQLThread akan memasuki keadaan tidur , menunggu untuk dibangunkan pada masa akan datang.
Dengan kata lain:
– Induk merekodkan pernyataan operasi ke dalam log binlog, dan kemudian memberikan kebenaran sambungan jauh hamba (tuan mesti mendayakan fungsi log binari binlog; biasanya untuk data sebab keselamatan, hamba juga Hidupkan fungsi binlog).
–hamba memulakan dua utas: thread IO dan thread SQL. Antaranya: benang IO bertanggungjawab membaca kandungan binlog tuan ke dalam log geganti bertanggungjawab membaca kandungan binlog dari log geganti dan mengemas kininya ke pangkalan data hamba, untuk memastikan hamba itu; data dan data induk dikekalkan Konsisten.
–Replikasi Mysql memerlukan sekurang-kurangnya dua perkhidmatan Mysql Sudah tentu, perkhidmatan Mysql boleh diedarkan pada pelayan yang berbeza, atau berbilang perkhidmatan boleh dimulakan pada satu pelayan.
–Replikasi Mysql adalah yang terbaik untuk memastikan versi Mysql pada pelayan induk dan hamba adalah sama (jika versi tidak boleh konsisten, maka pastikan versi nod induk adalah lebih rendah daripada versi nod hamba)
–Masa antara nod induk dan hamba perlu disegerakkan
4. Benang dump perpustakaan utama menghantar binlog tempatan ke benang IO perpustakaan hamba dalam bentuk acara mengikut permintaan perpustakaan hamba.
5. Terima peristiwa binlog daripada utas IO perpustakaan dan simpannya dalam log geganti setempat Maklumat yang dihantar akan direkodkan dalam master.info 6. Gunakan log geganti daripada urutan SQL pangkalan data, dan rekodkan maklumat yang digunakan ke relay-log.info Secara lalai, geganti yang digunakan akan dibersihkan secara automatik bentuk mysql master-slave (1) Seorang tuan dan seorang hamba (2) Replikasi tuan-tuan (3) Satu tuan dan berbilang hamba (4) Berbilang tuan dan satu hamba (5) Replikasi lata analisis kelewatan penyegerakan master-slave mysql tutorial video mysql]
Atas ialah kandungan terperinci Apakah replikasi master-slave mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!