Rumah >Operasi dan penyelenggaraan >Nginx >Penyelesaian ketersediaan tinggi: Menggunakan Pengurus Proksi Nginx untuk melaksanakan replikasi induk-hamba pangkalan data

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

WBOY
WBOYasal
2023-09-27 14:19:501519semak imbas

高可用性解决方案:利用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

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

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;

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配置
    }
}

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!

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