Rumah  >  Artikel  >  pangkalan data  >  Cara menggunakan fungsi replikasi MySQL untuk mencapai sandaran data dan pemulihan bencana

Cara menggunakan fungsi replikasi MySQL untuk mencapai sandaran data dan pemulihan bencana

WBOY
WBOYasal
2023-08-06 11:46:45890semak imbas

Cara menggunakan fungsi replikasi MySQL untuk mencapai sandaran data dan pemulihan bencana

Pengenalan:
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan dalam aplikasi praktikal, untuk memastikan keselamatan data dan ketersediaan tinggi, sandaran data dan pemulihan bencana selalunya diperlukan. Fungsi replikasi MySQL boleh mencapai sandaran data dan pemulihan bencana Artikel ini akan memperkenalkan cara menggunakan fungsi replikasi MySQL untuk mencapai sandaran data dan pemulihan bencana, dengan contoh kod.

1. Pengenalan kepada fungsi replikasi
Fungsi replikasi MySQL dilaksanakan melalui log binari (Binary Log). Ringkasnya, fungsi replikasi merekodkan semua operasi tulis pangkalan data utama dalam log binari, dan kemudian memainkan semula operasi ini daripada pangkalan data sekunder berdasarkan maklumat dalam log binari, dengan itu memastikan bahawa data pangkalan data sekunder adalah konsisten dengan pangkalan data utama.

2. Sediakan pangkalan data utama

  1. Jana akaun replikasi
    Pertama, jana akaun untuk replikasi dalam pangkalan data utama. Anda boleh menggunakan pernyataan berikut untuk membuat akaun bernama repl dalam pangkalan data utama dan memberikan kebenaran replikasi kepada akaun repl.
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
  1. Dayakan log binari
    Dayakan log binari dalam fail konfigurasi (my.cnf) pangkalan data utama. Tambahkan konfigurasi berikut pada fail my.cnf:
log-bin=mysql-bin

Kemudian mulakan semula perkhidmatan MySQL.

  1. Dapatkan status pangkalan data utama
    Gunakan pernyataan berikut untuk mendapatkan maklumat status pangkalan data utama untuk kegunaan seterusnya.
SHOW MASTER STATUS;

Rekod nilai medan Fail dan Kedudukan, yang akan digunakan dalam pangkalan data.

3. Sediakan pangkalan data hamba

  1. Sediakan konfigurasi replikasi pangkalan data hamba
    Konfigurasikan yang berikut dalam fail konfigurasi pangkalan data hamba (my.cnf):
server-id=2  -- 从数据库的唯一标识,不同数据库必须有不同的值

Kemudian mulakan semula perkhidmatan MySQL.

  1. Mulakan replikasi
    Gunakan pernyataan berikut dalam pangkalan data hamba untuk memulakan replikasi:
CHANGE MASTER TO
  MASTER_HOST='主库IP', -- 主数据库的IP地址
  MASTER_PORT=主库端口,  -- 主数据库的端口
  MASTER_USER='repl',
  MASTER_PASSWORD='repl账号的密码',
  MASTER_LOG_FILE='主库的File字段值',
  MASTER_LOG_POS=主库的Position字段值;

START SLAVE;

Gunakan arahan SHOW SLAVE STATUS untuk melihat status replikasi pangkalan data hamba, dan pastikan bahawa kedua-dua medan Slave_IO_Running dan Slave_SQL_ Yes_Running; .

4. Ujian sandaran data dan pemulihan bencana

  1. Sandaran data
    Buat jadual ujian dalam pangkalan data utama dan masukkan beberapa data.
CREATE DATABASE test;
USE test;
CREATE TABLE tb_test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20));

INSERT INTO tb_test (name) VALUES ('张三'),('李四'),('王五');

SELECT * FROM tb_test;

Kemudian, semak dalam pangkalan data hamba sama ada data dalam pangkalan data induk disegerakkan secara automatik.

  1. Ujian pemulihan bencana
    Simulasi masa henti pangkalan data utama boleh disimulasikan dengan menghentikan perkhidmatan MySQL pangkalan data utama.

Selepas pangkalan data induk berhenti, pangkalan data hamba akan terus berfungsi dan boleh membaca dan menulis ke pangkalan data hamba.

Selepas selesai, mulakan semula perkhidmatan MySQL pangkalan data utama Apabila pangkalan data utama kembali normal, pangkalan data hamba secara automatik akan menyegerakkan data pangkalan data utama.

5. Ringkasan
Melalui fungsi replikasi MySQL, kami boleh mencapai sandaran data dan pemulihan bencana dengan mudah. Proses menyediakan pangkalan data tuan dan hamba agak mudah dan hanya memerlukan beberapa konfigurasi dan arahan. Menggunakan fungsi replikasi, anda boleh memastikan penyegerakan data antara pangkalan data induk dan hamba, dan memastikan bahawa pangkalan data hamba boleh terus berfungsi apabila pangkalan data induk turun, meningkatkan ketersediaan sistem.

Contoh kod:

Atas ialah kandungan terperinci Cara menggunakan fungsi replikasi MySQL untuk mencapai sandaran data dan pemulihan bencana. 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