Kaedah PHP untuk melaksanakan replikasi tuan-hamba pangkalan data

PHPz
Lepaskan: 2023-05-17 20:02:01
asal
1219 orang telah melayarinya

Dengan perkembangan perniagaan yang berterusan dan jumlah perniagaan yang semakin meningkat, prestasi pangkalan data tunggal selalunya sukar untuk memenuhi permintaan, jadi pengelompokan pangkalan data telah menjadi arah yang sangat penting. Dalam kelompok pangkalan data, replikasi tuan-hamba adalah teknologi yang sangat biasa dan penting Melalui replikasi tuan-hamba, data dalam pangkalan data induk boleh disegerakkan ke pangkalan data hamba dalam masa nyata, memastikan keselamatan dan kebolehpercayaan data, dan. juga meningkatkan prestasi pangkalan data dan prestasi beban.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan replikasi master-slave pangkalan data Dengan melaksanakan replikasi master-slave pangkalan data, kami dapat memastikan ketekalan dan ketekalan data dengan lebih baik dalam menangani Ketersediaan yang tinggi.

1. Apakah replikasi tuan-hamba pangkalan data?

Replikasi induk-hamba pangkalan data ialah teknologi kluster pangkalan data yang mencapai ketersediaan tinggi dan pengimbangan beban dengan menyegerakkan data dalam pangkalan data induk kepada pangkalan data hamba. Dalam replikasi tuan-hamba, pangkalan data induk adalah pangkalan data yang bertanggungjawab untuk menerima permintaan menulis data dan memproses permintaan pertanyaan, manakala pangkalan data hamba menyegerakkan berdasarkan pangkalan data induk untuk mencapai sandaran masa nyata pangkalan data induk.

Penyegerakan data antara pangkalan data induk dan pangkalan data hamba biasanya menggunakan kaedah tak segerak atau separa segerak Pangkalan data induk merekodkan peristiwa perubahan datanya sendiri ke dalam log binari tempatan, dan pangkalan data hamba menarik binari daripada. pangkalan data induk Log, huraikan dan gunakan pangkalan data tempatan untuk penyegerakan. Ini boleh memastikan ketekalan dan ketersediaan data pada masa yang sama, dan tidak akan memberi kesan besar kepada prestasi pangkalan data utama.

2. Langkah untuk melaksanakan replikasi master-slave pangkalan data dalam PHP

  1. Mengkonfigurasi pangkalan data induk

Pertama, anda perlu mendayakan log binari dalam pangkalan data induk untuk merekodkan peristiwa perubahan data pangkalan data. Anda boleh menambah konfigurasi berikut pada fail konfigurasi MySQL untuk mendayakan fungsi log binari:

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

di mana log-bin parameter ditentukan Nama fail log binari boleh disesuaikan parameter pelayan-id menentukan pengecam unik pangkalan data induk dalam kluster yang berbeza dan nod hamba perlu mempunyai ID yang berbeza.

  1. Konfigurasikan pangkalan data hamba

Dalam pangkalan data hamba, anda perlu mengkonfigurasi parameter yang berkaitan bagi replikasi tuan-hamba, tetapkan pengecam unik nod hamba dan Alamat IP dan nombor port nod induk. Anda boleh menambah konfigurasi berikut pada fail konfigurasi MySQL:

server-id=2
relay-log=mysql-relay-bin
relay-log-index=mysql-relay-bin. indeks
replicate-do-db=mydb #Nama pangkalan data yang perlu disegerakkan
master-host=192.168.1.1 #Alamat IP nod induk
master-user=repl #The pengguna yang menyambungkan nod hamba kepada nod induk
kata laluan induk=repl123 #Kata laluan untuk nod hamba untuk menyambung ke nod induk
port-master=3306 #Nombor port nod induk

di mana server-id ialah pengecam unik nod hamba yang ditentukan dalam kelompok relay -log dan relay-log-index tentukan nama fail log geganti dan nama fail indeks log geganti nod hamba; Parameter -db menentukan nama pangkalan data yang perlu disegerakkan ke nod hamba Jika berbilang pangkalan data perlu disegerakkan, Parameter ini boleh ditetapkan berulang kali parameter siri master-* mengkonfigurasi maklumat yang berkaitan dengan nod hamba nod.

  1. Pelaksanaan kod PHP

Untuk melaksanakan kod PHP bagi melaksanakan proses replikasi master-slave pangkalan data, anda perlu menyambung ke pangkalan data yang perlu dikendalikan melalui fungsi mysql_connect, dan kemudian nyatakan pernyataan SQL untuk pertanyaan, dan sama ada data perlu dibaca daripada nod hamba. Dengan menetapkan parameter MYSQL_CLIENT_MASTER dan MYSQL_CLIENT_SLAVE, anda boleh menentukan sama ada pangkalan data yang disambungkan pada masa ini ialah nod induk atau nod hamba. Contoh kod adalah seperti berikut:

//Sambung ke nod induk
$conn = mysql_connect("192.168.1.1", "root", "password", null, MYSQL_CLIENT_MASTER);

// Lakukan operasi tulis
mysql_query("masukkan ke dalam nilai table1 ​​('test', '123')");

//Sambungkan nod hamba
$conn = mysql_connect("192.168.1.2" , "root", "password", null, MYSQL_CLIENT_SLAVE);

//Lakukan operasi baca
$res = mysql_query("select * from table1");

Melalui perkara di atas Dengan melaksanakan kod, operasi pensuisan dan pengikatan sambungan nod induk dan nod hamba boleh dilakukan secara berasingan, dan fungsi replikasi induk-hamba pangkalan data dapat direalisasikan dengan berkesan.

3. Ringkasan

Replikasi induk-hamba pangkalan data ialah teknologi kluster pangkalan data yang penting untuk mencapai ketersediaan tinggi dan pengimbangan beban. Melaksanakan replikasi tuan-hamba melalui PHP membolehkan kami memastikan ketekalan dan ketersediaan data dengan lebih baik apabila berurusan dengan konkurensi yang tinggi. Melalui langkah-langkah dan contoh kod di atas, saya berharap ia dapat membantu majoriti pembangun PHP dalam melaksanakan replikasi induk-hamba pangkalan data.

Atas ialah kandungan terperinci Kaedah PHP untuk melaksanakan replikasi tuan-hamba pangkalan data. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!