Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mencapai pemisahan baca dan tulis dalam mysql

Bagaimana untuk mencapai pemisahan baca dan tulis dalam mysql

PHPz
PHPzasal
2023-04-19 15:26:471260semak imbas

Mysql ialah sistem pengurusan pangkalan data hubungan ringan yang digunakan secara meluas dalam bidang pembangunan web. Walau bagaimanapun, untuk senario aplikasi dengan konkurensi tinggi dan tekanan penulisan yang tinggi, cara meningkatkan prestasi pangkalan data telah menjadi isu penting. MySQL melaksanakan pengasingan baca-tulis, yang merupakan penyelesaian yang berkesan untuk meningkatkan prestasi pangkalan data.

Bagaimana MySQL mengendalikan permintaan baca dan tulis?

Secara lalai, apabila permintaan baca atau tulis datang ke Mysql, Mysql Server akan menerima permintaan itu dan kemudian memajukannya terus ke enjin storan. Enjin storan akan memprosesnya mengikut jenis permintaan (baca permintaan atau tulis permintaan). Untuk permintaan baca, enjin storan akan membaca data terus dari memori, manakala untuk permintaan tulis, data akan dicache dalam ingatan dan kemudian ditulis ke cakera secara tak segerak.

Mengapa kita perlu mengasingkan bacaan dan penulisan?

Namun, apabila saiz aplikasi bertambah, bilangan permintaan baca dan tulis juga akan meningkat Pada masa ini, enjin storan mungkin mengalami kesukaran memproses permintaan baca dan tulis. Jika semua permintaan baca dan tulis diserahkan kepada enjin storan untuk diproses, ia boleh menyebabkan prestasi pelayan merosot, melambatkan respons, menyebabkan longgokan permintaan dan menjejaskan operasi biasa aplikasi.

Oleh itu, untuk melegakan tekanan pada enjin storan dan meningkatkan prestasi mysql, kami boleh memisahkan permintaan baca dan tulis dan memprosesnya masing-masing oleh pelayan yang berbeza mysql.

Bagaimana untuk merealisasikan pemisahan membaca dan menulis dalam mysql?

Pemisahan baca-tulis MySQL terutamanya merangkumi dua bahagian: Master dan Slave. Antaranya, Master digunakan untuk memproses permintaan tulis, dan Slave digunakan untuk memproses permintaan baca. Proses pelaksanaan khusus dibahagikan kepada langkah berikut:

1 Pasang pelayan mysql:

Pasang pelayan mysql pada kedua-dua pelayan Master dan Slave. Selepas pemasangan selesai, anda perlu memastikan bahawa pelayan mysql sedang berjalan.

2. Konfigurasikan pelayan mysql

Pada pelayan Master, tambahkan parameter konfigurasi berikut pada fail my.cnf supaya ia boleh menerima permintaan baca daripada pelayan hamba. Malah, ia adalah untuk mengubah suai kaedah konfigurasi asal dan menambah beberapa item konfigurasi baharu.

log-bin=mysql-bin
server-id=1

Pada pelayan Slave, tambahkan parameter konfigurasi berikut dalam fail my.cnf supaya ia boleh menerima fail binlog daripada pelayan Master dan tuliskannya ke pelayan slave.

server-id=2

3 Buat akaun replikasi

Pada pelayan Master, buat akaun replikasi melalui arahan berikut dan berikan kebenaran baca dan tulis yang sepadan:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

4. Mulakan pemisahan baca-tulis

Pada pelayan Hamba, mulakan fungsi pemisahan baca-tulis pelayan hamba melalui arahan berikut:

CHANGE MASTER TO MASTER_HOST='master_server_hostname',MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file_name', MASTER_LOG_POS=master_log_file_position;

Antaranya, MASTER_HOST ialah nama hos pelayan Master, dan MASTER_USER ialah Untuk nama akaun replikasi yang dibuat di atas, MASTER_PASSWORD ialah kata laluan akaun replikasi, dan MASTER_LOG_FILE dan MASTER_LOG_POS ialah maklumat fail binlog pada pelayan Master.

5. Periksa sama ada pemisahan baca-tulis berfungsi dengan betul

Periksa sama ada pemisahan baca-tulis berfungsi dengan betul melalui arahan berikut:

SHOW SLAVE STATUS\G

Jika kedua-dua Slave_IO_Running dan Slave_SQL_Running adalah Ya , menunjukkan bahawa pemisahan baca-tulis telah berjaya dilaksanakan.

Ringkasan:

Pengasingan membaca dan menulis dalam mysql dapat meningkatkan prestasi mysql secara berkesan dan menyelesaikan masalah tekanan yang terlalu tinggi pada pelayan dan tindak balas yang perlahan apabila terdapat terlalu banyak bacaan dan tulis permintaan. Untuk mencapai pemisahan baca-tulis, anda perlu memasang pelayan mysql pada pelayan Master dan Slave masing-masing, dan konfigurasikannya dengan sewajarnya dan tetapkan parameter. Pelaksanaan pengasingan baca-tulis sangat membantu dalam meningkatkan prestasi pelayan dan merupakan pilihan yang baik untuk pengguna MySQL.

Atas ialah kandungan terperinci Bagaimana untuk mencapai pemisahan baca dan tulis dalam 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