Rumah > Artikel > pangkalan data > Apakah mysql master-slave
Dalam mysql, master-slave merujuk kepada penubuhan dua pangkalan data yang sama, satu daripadanya adalah pangkalan data utama dan satu lagi pangkalan data sekunder, yang boleh menghalang kehilangan data akibat masa henti pelayan pangkalan data menyediakan failover, pemisahan baca-tulis dan fungsi sandaran.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Pengenalan tuan-slave
Apa yang dipanggil mysql master-slave adalah untuk mencipta dua pangkalan data yang sama, satu yang merupakan pangkalan data penggunaan utama, dan yang satu lagi adalah pangkalan data sekunder Secara amnya dalam perusahaan, pelayan pangkalan data yang menyimpan data yang lebih penting perlu dikonfigurasikan dengan konfigurasi master-slave Ini boleh mengelakkan kehilangan data akibat masa pelayan pangkalan data. dan juga memastikan bahawa volum perniagaan dan data terlalu banyak Kualiti perkhidmatan (kelajuan tindak balas pelayan) apabila terdapat terlalu ramai pengguna dan terlalu ramai pelawat, dan ia juga boleh menyediakan fungsi seperti failover, pengasingan baca-tulis, dan sandaran.
Borang tuan-hamba
Satu tuan dan seorang hamba
Replikasi tuan-tuan: digunakan sebagai sandaran Apabila pelayan induk gagal, yang lain pelayan induk Ia akan menambah nilai secara automatik.
Satu induk dan berbilang hamba: Digunakan untuk mencapai pemisahan baca dan tulis Ia digunakan apabila terdapat sedikit operasi tulis dan banyak operasi baca Pelayan induk digunakan untuk melaksanakan operasi tulis, dan pelayan hamba digunakan untuk melaksanakan operasi baca.
Berbilang tuan dan satu hamba: Digunakan untuk mencapai pemisahan membaca dan menulis Ia digunakan apabila terdapat banyak operasi tulis dan sedikit operasi baca Pelayan induk digunakan untuk melaksanakan operasi tulis dan pelayan hamba digunakan untuk melaksanakan operasi baca.
Tuan-hamba tradisional
Replikasi tuan-hamba tradisional adalah terutamanya replikasi berdasarkan lokasi fail log binari, jadi tuan mesti memulakan pengelogan binari dan mewujudkan unik ID pelayan, replikasi Setiap pelayan dalam kumpulan mesti dikonfigurasikan dengan ID pelayan yang unik. Jika anda meninggalkan server-id (atau secara eksplisit menetapkannya kepada nilai lalainya 0), tuan akan menolak sebarang sambungan daripada hamba.
gtid master-slave
Salah satu ciri baharu MySQL 5.6, pengecam transaksi global (GTID) ialah pengecam unik yang dicipta dan dikaitkan dengan sumber (master ) yang dikaitkan dengan setiap transaksi yang dilakukan pada pelayan. Pengecam ini bukan sahaja unik, tetapi juga unik merentas semua pelayan dalam persediaan replikasi yang diberikan. Terdapat pemetaan satu dengan satu antara semua transaksi dan semua GTID. Ia terdiri daripada ID pelayan dan ID transaksi. ID transaksi global ini bukan sahaja unik pada pelayan asal, tetapi juga unik pada semua pelayan mysql yang mempunyai hubungan tuan-hamba. Justru kerana ciri inilah replikasi tuan-hamba mysql menjadi lebih mudah dan konsistensi pangkalan data lebih dipercayai. GTID hanya dilaksanakan sekali pada pelayan untuk mengelakkan kekeliruan data atau ketidakkonsistenan tuan-hamba yang disebabkan oleh pelaksanaan berulang.
Prinsip replikasi tuan-hamba
Aliran kerja replikasi tuan-hamba: Pustaka induk merekodkan semua operasi tulis pengguna (kecuali penambahan, pemadaman, pengubahsuaian dan semakan) ke dalam log binlog Dan benang dump log dijana, dan perpustakaan hamba menjana benang I/O dan SQL Benang I/O perpustakaan hamba menghantar permintaan dalam bentuk aliran I/O ke benang dump log. daripada perpustakaan utama. Benang longgokan log perpustakaan utama menerima permintaan daripada perpustakaan hamba Selepas permintaan benang I/O, log binlog dihantar ke pustaka hamba Selepas benang I/O perpustakaan log binlog, ia menulisnya ke dalam fail log geganti (log geganti), dan kemudian benang SQL perpustakaan hamba menyampaikannya Log dalam fail log dihuraikan ke dalam skrip sql, dan fail skrip sql yang dihasilkan akhirnya dilaksanakan. untuk mencapai operasi tuan-hamba yang konsisten dan mencapai konsistensi data akhir.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Apakah mysql master-slave. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!