Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MySQL dalam PHP

Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MySQL dalam PHP

PHPz
PHPzasal
2023-05-17 08:18:051347semak imbas

Dengan perkembangan pesat Internet, aplikasi web semakin menyepadukan operasi pangkalan data. MySQL ialah sistem pangkalan data hubungan yang terkenal di dunia yang digunakan secara meluas. Dalam aplikasi web yang sangat serentak, replikasi tuan-hamba MySQL adalah cara penting untuk meningkatkan prestasi dan ketersediaan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan replikasi master-slave pangkalan data MySQL.

1. Apakah replikasi master-slave MySQL

Replikasi master-slave MySQL merujuk kepada menyalin data satu pelayan pangkalan data MySQL ke pelayan lain untuk memastikan data kedua-dua pelayan MySQL konsisten. Salah satu pelayan dipanggil pelayan induk dan bertanggungjawab untuk mengemas kini data dalam masa nyata; pelayan lain dipanggil pelayan hamba dan bertanggungjawab untuk menyegerakkan data daripada pelayan induk. Replikasi tuan-hamba boleh meningkatkan kebolehskalaan dan toleransi kesalahan sistem. Sebagai contoh, apabila pelayan utama turun, pelayan hamba boleh mengambil alih kerja pelayan utama untuk memastikan operasi normal perniagaan.

2. Prinsip pelaksanaan replikasi tuan-hamba

Prinsip pelaksanaan replikasi tuan-hamba adalah seperti berikut:

  1. Pelayan induk merekodkan operasi kemas kini dalam log binari (Binary Log ).
  2. Pelayan hamba bersambung ke pelayan induk, meminta untuk mendapatkan log binari yang perlu disegerakkan dan menyalinnya ke lognya sendiri.
  3. Pelayan hamba melaksanakan operasi kemas kini dalam log binari pelayan induk ke dalam pangkalan datanya sendiri untuk memastikan bahawa data dalam dua pangkalan data adalah konsisten.

3. Bagaimana untuk melaksanakan replikasi tuan-hamba dalam PHP

  1. Konfigurasikan log binari pelayan utama

Pelayan utama memerlukan untuk dikonfigurasikan dalam my.cnf Dayakan pengelogan binari dalam fail. Buka fail my.cnf dan tambah konfigurasi berikut dalam bahagian [mysqld]:

server-id=1
log-bin=/var/log/mysql/mysql-bin.log

Antaranya, server-id digunakan untuk mengenal pasti pelayan utama, dan log-bin digunakan untuk menentukan laluan fail log itu.

  1. Konfigurasikan maklumat pelayan induk pelayan hamba

Pelayan hamba perlu menambah maklumat sambungan pelayan induk dalam fail konfigurasi my.cnf. Buka fail my.cnf dan tambahkan konfigurasi berikut dalam bahagian [inisd_client]:

server-id=2
master-host=10.0.0.1
master-user=repl_user
master-password=repl_password
master-port=3306

Antaranya, server-id digunakan untuk mengenal pasti pelayan hamba, tuan-tuan menentukan alamat IP pelayan induk , master-user dan master -password menentukan nama pengguna dan kata laluan pelayan induk, dan master-port menentukan nombor port pelayan induk.

  1. Buat pengguna replikasi

Buat pengguna pada pelayan induk untuk data replikasi dan benarkan pengguna membaca log binari. Buka klien MySQL dan laksanakan arahan berikut:

mysql> CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
  1. Mulakan proses replikasi dalam pelayan hamba

Jalankan arahan berikut dalam klien MySQL pelayan hamba untuk mulakan proses replikasi :

mysql> CHANGE MASTER TO MASTER_HOST='10.0.0.1', 
  MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', 
  MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
mysql> START SLAVE;

Antaranya, MASTER_LOG_FILE dan MASTER_LOG_POS boleh didapati dalam Binary Log pelayan utama.

Selepas melengkapkan langkah di atas, pelayan hamba akan menyalin data daripada pelayan induk untuk memastikan data dalam dua pangkalan data konsisten.

4. Ringkasan

Replikasi master-slave MySQL ialah teknologi penting untuk meningkatkan prestasi dan ketersediaan sistem. Ia adalah sangat mudah untuk melaksanakan replikasi induk-hamba MySQL menggunakan PHP Anda hanya perlu mendayakan log binari pada pelayan induk, mengkonfigurasi maklumat pelayan induk pada pelayan hamba, mencipta pengguna replikasi, dan memulakan proses replikasi. Dalam persekitaran pengeluaran sebenar, perhatian harus diberikan untuk menggunakan cara teknikal yang sesuai untuk membantu operasi dan penyelenggaraan pangkalan data untuk memastikan kestabilan dan keselamatan perkhidmatan pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan replikasi tuan-hamba pangkalan data MySQL dalam PHP. 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