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

PHPz
Lepaskan: 2023-05-30 10:01:33
ke hadapan
1415 orang telah melayarinya

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
Salin selepas log masuk
Salin selepas log masuk

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 指定不记录二进制日志的数据库
Salin selepas log masuk

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

service mysql restart
Salin selepas log masuk
Salin selepas log masuk

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

show variables like 'log_bin%';
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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

  • Ubah suai konfigurasi berkaitan

    vim /etc/my.cnf
    Salin selepas log masuk
    Salin selepas log masuk

    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 #忽略数据库
    Salin selepas log masuk

    Ingat Mulakan semula perkhidmatan;

    service mysql restart
    Salin selepas log masuk
    Salin selepas log masuk
  • 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;
    Salin selepas log masuk

    master_log_file ialah nama fail yang diperolehi dalam langkah pertama;

    start slave;
    Salin selepas log masuk

  • 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
    Salin selepas log masuk

  • 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!

Label berkaitan:
sumber:yisu.com
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