Penyelesaian ketersediaan tinggi: Menggunakan Pengurus Proksi Nginx untuk melaksanakan replikasi induk-hamba pangkalan data

WBOY
Lepaskan: 2023-09-27 14:19:50
asal
1457 orang telah melayarinya

高可用性解决方案:利用Nginx Proxy Manager实现数据库主从复制

Penyelesaian ketersediaan tinggi: Menggunakan Pengurus Proksi Nginx untuk melaksanakan replikasi tuan-hamba pangkalan data

Pengenalan
Ketersediaan tinggi adalah keperluan yang sangat penting dalam perusahaan moden. Dalam aplikasi dalam talian, pangkalan data memainkan peranan penting. Untuk memastikan integriti dan kebolehpercayaan data, kami perlu mengambil beberapa langkah untuk memastikan ketersediaan pangkalan data yang tinggi. Artikel ini akan memperkenalkan penyelesaian menggunakan Pengurus Proksi Nginx untuk melaksanakan replikasi induk-hamba pangkalan data, dan menyediakan contoh kod khusus.

  1. Apakah pangkalan data replikasi tuan-hamba?
    Replikasi induk-hamba pangkalan data ialah penyelesaian ketersediaan tinggi yang biasa digunakan. Ia merekodkan log operasi pangkalan data pada pangkalan data induk dan kemudian menghantar log ke pangkalan data hamba kemudian menggunakan log ini ke pangkalan datanya sendiri untuk mencapai penyegerakan data antara pangkalan data induk dan pangkalan data hamba.
  2. Pengurus Proksi Nginx
    Pengurus Proksi Nginx ialah penyelesaian ketersediaan tinggi berdasarkan Nginx. Ia boleh mengedarkan trafik melalui proksi terbalik dan pengimbangan beban untuk mencapai ketersediaan dan prestasi yang tinggi. Dalam penyelesaian kami, kami akan menggunakan Pengurus Proksi Nginx untuk mengendalikan ketersediaan pangkalan data yang tinggi.
  3. Gambaran Keseluruhan Penyelesaian
    Penyelesaian kami akan mengkonfigurasi dua kejadian pangkalan data: pangkalan data induk dan pangkalan data hamba. Pangkalan data induk akan menerima semua operasi tulis dan menghantar log operasi ke pangkalan data hamba. Pangkalan data hamba akan membaca log operasi pangkalan data induk dan menggunakannya pada pangkalan datanya sendiri untuk mencapai penyegerakan data.
  4. Mengkonfigurasi pangkalan data induk
    Pertama, kita perlu mendayakan pengelogan binari dalam pangkalan data induk. Dalam fail konfigurasi MySQL, tetapkan yang berikut:
[mysqld]
log-bin = /var/log/mysql/mysql-bin.log
server-id = 1
Salin selepas log masuk

Kemudian, mulakan semula pangkalan data utama untuk konfigurasi berkuat kuasa.

  1. Mengkonfigurasi pangkalan data hamba
    Sebelum mengkonfigurasi pangkalan data hamba, sila pastikan anda telah memasang MySQL dan menghentikan perkhidmatan MySQL.

Pertama, kita perlu mengkonfigurasi parameter replikasi daripada pangkalan data. Dalam fail konfigurasi MySQL, tetapkan yang berikut:

[mysqld]
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
log_slave_updates = 1
read_only = 1
Salin selepas log masuk

Kemudian, mulakan pangkalan data hamba dan laksanakan pernyataan SQL berikut:

CHANGE MASTER TO MASTER_HOST='主数据库IP地址', MASTER_USER='复制用户', MASTER_PASSWORD='复制用户密码', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;
Salin selepas log masuk

Perhatikan bahawa parameter dalam pernyataan di atas digantikan dengan parameter anda sendiri.

  1. Konfigurasi Pengurus Proksi Nginx
    Kini, kami akan mengkonfigurasi Pengurus Proksi Nginx untuk memproksi pangkalan data tuan dan hamba. Dalam fail konfigurasi Pengurus Proksi Nginx, tambahkan kandungan berikut:
upstream db_servers {
    server 主数据库IP地址;
    server 从数据库IP地址 backup;
}

server {
    listen 3306;
   
    location / {
        proxy_pass http://db_servers;
        #下面是其他的Nginx配置
    }
}
Salin selepas log masuk

Kemudian, mulakan semula Pengurus Proksi Nginx untuk konfigurasi berkuat kuasa.

  1. Menguji ketersediaan tinggi
    Pada ketika ini, anda telah berjaya mengkonfigurasi replikasi tuan-hamba pangkalan data dan Pengurus Proksi Nginx. Untuk menguji ketersediaan tinggi, anda boleh cuba menulis operasi pada pangkalan data induk dan kemudian membaca operasi pada pangkalan data hamba untuk memastikan data disegerakkan dengan betul.

Kesimpulan
Melalui konfigurasi di atas, kami berjaya melaksanakan replikasi tuan-hamba pangkalan data dan menggunakan Pengurus Proksi Nginx untuk mencapai ketersediaan tinggi. Penyelesaian ini memastikan penukaran pantas dan kebolehpercayaan data sekiranya berlaku kegagalan pangkalan data. Harap artikel ini membantu anda!

Rujukan:
[1] Dokumentasi MySQL [Pautan]
[2] Dokumentasi TCP dan UDP [Pautan]

Atas ialah kandungan terperinci Penyelesaian ketersediaan tinggi: Menggunakan Pengurus Proksi Nginx untuk melaksanakan replikasi induk-hamba pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!