Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan replikasi tuan-hamba untuk meningkatkan prestasi baca MySQL

Cara menggunakan replikasi tuan-hamba untuk meningkatkan prestasi baca MySQL

王林
王林asal
2023-05-11 12:40:441510semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang sangat popular Dengan perkembangan perniagaan Internet yang semakin meningkat, keperluan untuk prestasi baca dan tulis pangkalan data MySQL semakin tinggi. Antaranya, prestasi membaca adalah salah satu petunjuk yang lebih kritikal bagi pangkalan data MySQL. Di sini, kami akan memperkenalkan cara menggunakan fungsi replikasi tuan-hamba pangkalan data MySQL untuk meningkatkan prestasi bacaan.

1. Apakah replikasi tuan-hamba

Replikasi tuan-hamba ialah penyelesaian ketersediaan dan kebolehskalaan tinggi untuk pangkalan data MySQL. Ia menggunakan satu pelayan pangkalan data sebagai pangkalan data utama (juga dipanggil nod induk) dan pelayan pangkalan data berbilang sebagai pangkalan data hamba (juga dipanggil nod hamba, pangkalan data induk menyegerakkan perubahan datanya sendiri (Sisipkan, Kemas Kini, Padam, dll.) kepada pangkalan data hamba untuk mencapai sandaran panas data, pemisahan baca-tulis dan fungsi lain.

2. Prinsip replikasi tuan-hamba

Dalam sistem replikasi tuan-hamba, operasi penulisan data hanya boleh dilakukan pada pangkalan data induk, dan pangkalan data hamba hanya bertanggungjawab untuk membaca operasi. Pustaka utama akan merekodkan operasi pengubahsuaiannya sendiri ke dalam Binlog (log binari), manakala perpustakaan hamba akan menghuraikan Binlog perpustakaan utama dan mengubah suai data pada pangkalan datanya sendiri, dengan itu mencapai penyegerakan data keseluruhan kluster.

3. Kelebihan replikasi tuan-hamba

(1) Sandaran dan pemulihan data: Data dalam pangkalan data induk boleh disegerakkan ke pangkalan data hamba dalam masa nyata, dan ia boleh dengan cepat dipulihkan apabila data dalam pangkalan data induk hilang.

(2) Pengasingan baca dan tulis: Menggunakan replikasi tuan-hamba boleh memisahkan operasi baca dan tulis, mengurangkan tekanan pada perpustakaan utama dan meningkatkan prestasi keseluruhan sistem.

(3) Ketersediaan tinggi: Replikasi Master-slave membolehkan pangkalan data hamba mengambil alih daripada pangkalan data induk dan terus menyediakan perkhidmatan apabila pangkalan data induk gagal, sekali gus memastikan ketersediaan tinggi keseluruhan sistem.

4. Laksanakan replikasi tuan-hamba

(1) Konfigurasikan perpustakaan utama

Untuk mendayakan fungsi Binlog perpustakaan utama, anda perlu menambahkannya pada fail konfigurasi my.cnf pustaka utama Konfigurasi berikut:

[mysqld]
log-bin=mysql-bin
server-id=1

Log- item konfigurasi bin di sini menentukan nama fail log Binlog Item konfigurasi id pelayan mewakili pengecam unik pelayan semasa.

(2) Konfigurasikan perpustakaan hamba

Untuk pustaka hamba mewujudkan sambungan dengan perpustakaan utama dan mendapatkan data Binlog, konfigurasi berikut perlu ditambahkan pada fail konfigurasi my .cnf pustaka hamba:

[mysqld]
server-id=2

ID pelayan pustaka hamba dikonfigurasikan di sini. id mestilah unik.

Kemudian, laksanakan arahan berikut dalam pustaka hamba untuk menyambungkan pustaka hamba kepada pustaka induk dan dapatkan data Binlog:

TUKAR MASTER KEPADA MASTER_HOST='Alamat IP perpustakaan induk',MASTER_USER= 'hamba ', MASTER_PASSWORD='123456', MASTER_LOG_FILE='nilai tong-log yang ditetapkan oleh perpustakaan utama', MASTER_LOG_POS=4;

Dalam arahan di atas, parameter MASTER_HOST menentukan alamat IP perpustakaan utama , dan parameter MASTER_USER dan MASTER_PASSWORD menentukan Nama pengguna dan kata laluan untuk menyambung ke perpustakaan utama ditentukan, MASTER_LOG_FILE menentukan nama fail log Binlog dalam perpustakaan utama, dan MASTER_LOG_POS menentukan lokasi di mana data disalin daripada perpustakaan hamba.

Selepas melaksanakan arahan, anda boleh menggunakan arahan SHOW SLAVE STATUS untuk melihat status replikasi induk-hamba perpustakaan hamba.

(3) Uji pemisahan baca-tulis

Laksanakan pernyataan SELECT pada pangkalan data hamba Anda boleh melihat bahawa hasil pertanyaan adalah sama dengan pangkalan data utama. pangkalan data hamba telah menyelesaikan proses penyegerakan data. Kemudian, laksanakan INSERT, UPDATE, DELETE dan penyata pengubahsuaian data lain pada pangkalan data utama, dan pangkalan data hamba secara automatik akan menyegerakkan perubahan data dalam pangkalan data utama untuk melengkapkan pemisahan membaca dan menulis.

5 Nota

(1) Apabila konfigurasi perkakasan pangkalan data induk dan pangkalan data hamba berbeza atau volum data sangat berbeza, isu seperti penyegerakan jadual dan replikasi perlu dipertimbangkan untuk memastikan ketekalan data .

(2) Adalah disyorkan untuk menggunakan sambungan rangkaian berkelajuan tinggi antara pangkalan data induk dan pangkalan data hamba untuk memastikan kelajuan penghantaran data.

(3) Konfigurasi pustaka hamba tidak boleh lebih rendah daripada pustaka induk, jika tidak, kelewatan atau ralat yang lebih tinggi mungkin berlaku.

(4) Jika pangkalan data induk gagal, anda perlu menukar pangkalan data hamba kepada pangkalan data induk dan mengkonfigurasi semula pangkalan data induk asal sebagai pangkalan data hamba baharu.

6. Ringkasan

Replikasi master-slave pangkalan data MySQL ialah penyelesaian yang sangat baik untuk meningkatkan prestasi bacaan. Dengan menggunakan replikasi tuan-hamba, pelbagai fungsi seperti sandaran panas data, pemisahan baca-tulis, dan ketersediaan tinggi boleh dicapai Pada masa yang sama, tekanan baca-tulis pada pangkalan data utama dapat dikurangkan dan prestasi sistem boleh diperbaiki. Walau bagaimanapun, apabila melaksanakan replikasi tuan-hamba, anda perlu memberi perhatian kepada isu penyegerakan dan replikasi data untuk memastikan ketekalan data.

Atas ialah kandungan terperinci Cara menggunakan replikasi tuan-hamba untuk meningkatkan prestasi baca MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Panduan Penalaan Prestasi MySQLArtikel seterusnya:Panduan Penalaan Prestasi MySQL