Apakah replikasi master-slave mysql

青灯夜游
Lepaskan: 2022-06-27 15:37:04
asal
5131 orang telah melayarinya

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.

Apakah replikasi master-slave mysql

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:

  • Pustaka hamba akan menghasilkan dua utas, satu utas I/O dan satu utas SQL
  • I Benang /O akan meminta binlog perpustakaan utama dan menulis binlog yang diperolehi ke fail log geganti (log geganti) tempatan
  • Pustaka utama akan menjana benang pembuangan log untuk menyediakan hamba dengan The utas I/O perpustakaan menghantar binlog;
  • Benang SQL akan membaca log dalam fail log geganti dan menghuraikannya ke dalam pernyataan sql untuk pelaksanaan satu demi satu; :

– 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

3. Berdasarkan nama fail dan nombor kedudukan yang diberikan oleh induk perubahan kepada penyataan daripada pustaka hamba, urutan IO memulakan permintaan binlog ke pustaka induk.

Apakah replikasi master-slave mysql4. 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

Apakah replikasi master-slave mysql

(2) Replikasi tuan-tuan

Apakah replikasi master-slave mysql

(3) Satu tuan dan berbilang hamba

Apakah replikasi master-slave mysql

(4) Berbilang tuan dan satu hamba

Apakah replikasi master-slave mysql

(5) Replikasi lata

Apakah replikasi master-slave mysql

analisis kelewatan penyegerakan master-slave mysql

replikasi master-slave mysql ialah operasi berbenang tunggal dan perpustakaan utama melaksanakan semua DDL Log yang dijana oleh dan DML ditulis ke dalam binlog Memandangkan binlog ditulis secara berurutan, ia sangat cekap Benang sql hamba memainkan semula peristiwa operasi DDL dan DML perpustakaan utama dalam hamba. Operasi IO DML dan DDL adalah rawak, tidak berurutan, jadi kosnya lebih tinggi Sebaliknya, kerana benang sql juga berbenang tunggal, apabila keselarasan perpustakaan utama adalah tinggi, bilangan DML yang dihasilkan. melebihi kapasiti benang SQL hamba Kelajuan pemprosesan, atau apabila terdapat pernyataan pertanyaan besar dalam hamba yang menyebabkan menunggu kunci, maka kelewatan berlaku.

Penyelesaian:

1 Lapisan kegigihan perniagaan menggunakan seni bina sub-pangkalan data, dan perkhidmatan mysql boleh dikembangkan secara selari untuk menyebarkan tekanan.

2. Asingkan membaca dan menulis dalam satu perpustakaan, satu tuan dan berbilang hamba, tuan menulis dan hamba membaca, untuk menyebarkan tekanan. Dengan cara ini, tekanan perpustakaan hamba lebih tinggi daripada perpustakaan utama, melindungi perpustakaan utama.

3. Infrastruktur perkhidmatan menambah lapisan cache memcache atau redis antara perniagaan dan mysql. Kurangkan tekanan baca mysql.

4. MySQL untuk perniagaan yang berbeza diletakkan secara fizikal pada mesin yang berbeza untuk menyebarkan tekanan.

5 Gunakan peranti perkakasan yang lebih baik daripada perpustakaan utama kerana Mysql akan mempunyai tekanan yang kurang dan kelewatan akan menjadi lebih kecil.

6. Gunakan perkakasan yang lebih berkuasa

[Cadangan berkaitan:

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!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan