Rumah  >  Artikel  >  pangkalan data  >  Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

PHPz
PHPzke hadapan
2023-05-30 10:01:331415semak imbas

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

1. Replikasi tuan-hamba dan pemisahan baca-tulis

1.1 Replikasi tuan-hamba (tahap data)

Replikasi tuan-hamba ialah prasyarat untuk pengasingan baca-tulis . Fungsi replikasi tuan-hamba yang disediakan oleh pangkalan data MySQL dengan mudah boleh merealisasikan sandaran automatik data pada berbilang pelayan, merealisasikan pengembangan pangkalan data, dan meningkatkan keselamatan data dengan banyak. Selepas replikasi tuan-hamba dilaksanakan, pemisahan baca-tulis boleh meningkatkan lagi prestasi pemuatan pangkalan data.

Seperti yang ditunjukkan dalam rajah, proses pelaksanaan umum replikasi tuan-hamba ditunjukkan.

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

1.2 Pemisahan baca dan tulis (peringkat perniagaan)

Untuk mencapai pemisahan baca dan tulis, replikasi master-slave pangkalan data mesti dilaksanakan terlebih dahulu. Pemahaman tentang pemisahan baca-tulis ialah operasi pertanyaan diselesaikan dalam sub-pangkalan data, manakala operasi tulis dilakukan dalam pangkalan data utama. Data disandarkan kepada sub-pangkalan data melalui replikasi tuan-hamba untuk memastikan konsistensi data. Ini dilakukan selepas data telah ditulis ke pangkalan data utama.

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

2. Pelaksanaan

Mari kita fahami prinsip replikasi tuan-hamba:

  1. Jadilah tuan. pertama Selepas data dalam pangkalan data berubah, rekod perubahan akan ditulis ke log binlog.

  2. Pangkalan data hamba akan mengesan log binlog dalam pangkalan data induk dalam tempoh masa tertentu Jika perubahan berlaku, ia akan meminta maklumat fail log induk.

Setelah memahami prinsipnya, kita perlu mengetahui prasyarat untuk membolehkan replikasi tuan-hamba:

  1. Nod induk perlu mendayakan log binlog (mysql tidak mendayakannya secara lalai) binlog)

  2. nod hamba, nyatakan fail binlog, dan offset disegerakkan

  • Tentukan ip nod induk

  • Nama pengguna dan kata laluan untuk melaksanakan nod induk

Sekarang kita semua memahaminya secara kasar, mari bina model pangkalan data one-master-one-slave , tunjukkan proses konfigurasi persediaan master-slave pangkalan data.

Sediakan dua pelayan CentOS dan pasang mysql5.7 terlebih dahulu.

2.1 Hidupkan binlog pelayan induk

Edit fail my.cnf mysql: (kaedah pemasangan yang berbeza mungkin mempunyai lokasi fail yang berbeza, sila analisis masalah khusus secara terperinci~)

vim /etc/my.cnf

Fail asal tidak mempunyai kandungan berikut, kita perlu menambahnya sendiri. Apa yang saya ingin lakukan di sini ialah melakukan replikasi master-slave data dalam pangkalan data myslave

server-id = 1 #server-id 服务器唯一标识log_bin = master-bin 
#log_bin 启动MySQL二进制日志log_bin_index = master-bin.index
binlog_do_db = myslave #binlog_do_db 指定记录二进制日志的数据库 这两个指定可以不添加binlog_ignore_db = mysql 
#binlog_ignore_db 指定不记录二进制日志的数据库

Gunakan arahan berikut untuk memulakan semula mysql. Versi Linux yang berbeza mungkin mempunyai arahan yang berbeza.

service mysql restart

Selepas permulaan yang berjaya, kita boleh melihat status pembukaan bin-log melalui penyataan berikut: (Hanya tanya terus dalam Navicat)

show variables like 'log_bin%';

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

2.2 Akses jauh

#允许远程用户访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.221.131' IDENTIFIED BY '123456' WITH GRANT OPTION;
#刷新
FLUSH PRIVILEGES;

2.3 Konfigurasi nod hamba

  • Pertama, pada nod induk, gunakan arahan berikut untuk memahami status nod induk dan dapatkan maklumat yang ditunjukkan dalam rajah di bawah.

show master status;

Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL

  • Ubah suai konfigurasi berkaitan

    vim /etc/my.cnf

    Tambah maklumat yang berkaitan:

    server-id = 2  #唯一标识relay-log = slave-relay-bin
    relay-log-index = slave-relay-bin.index
    replicate-do-db=myslave #备份数据库 对应master中设置的,可以不设置replicate-ignore-db=mysql #忽略数据库

    Ingat Mulakan semula perkhidmatan;

    service mysql restart
  • Jalankan arahan berikut pada nod hamba.

    change master to master_host='192.168.221.128',master_user='root',master_password='123456',master_log_file='binlog.000009',master_log_pos=2339;

    master_log_file ialah nama fail yang diperolehi dalam langkah pertama;

    start slave;

  • Semak status penyegerakan dan dapatkan status yang ditunjukkan dalam rajah di bawah, yang bermaksud penyegerakan tuan-hamba berjaya diwujudkan. Ujian jadual boleh dibuat dalam pangkalan data utama.
  • show slave status\G

Atas ialah kandungan terperinci Bagaimana dengan cepat membina seni bina replikasi tuan-hamba dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam