Latar belakang : Saya memiliki dua pengaturan server MySQL 5.1 dalam replikasi berbasis baris Master-Master (RBR) mengikuti panduan yang sangat baik ini . Saya ingin semua database direplikasi, dan akan menambahkan database baru secara teratur.
Sasaran : Saya ingin dapat menambahkan basis data baru ke replikasi dengan hanya menambahkan DB ke salah satu server; tanpa harus menghentikan kedua budak, mengubah file konfigurasi, me-restart server MySQL, dan memulai kembali budak.
Pertanyaan : Dari apa yang saya baca, saya pikir saya bisa melakukan ini dengan hanya menghilangkan setiap binlog-do-db
, binlog-ignore-db
, replicate-do-db
, dan replicate-ignore-db
pengaturan dalam konfigurasi masing-masing server, tapi aku tidak bisa yakin. Dokumen MySQL tentang bagaimana opsi replikasi tingkat Database dan Tabel dievaluasi membuat saya berpikir mungkin tidak ada cara untuk mencapai ini sama sekali.
Bagian yang relevan dari /etc/mysql/my.cnf
file saya disalin di bawah ini. Apakah saya di jalur yang benar? Apakah yang saya inginkan bahkan mungkin?
Master 1 :
[mysqld]
binlog-format = row
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = <master2_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M
Master 2 :
[mysqld]
binlog-format = row
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
master-host = <master1_ip>
master-user = slave_user
master-password = <password>
master-connect-retry = 60
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/lib/mysql/slave-relay.log
relay-log-index = /var/lib/mysql/slave-relay-log.index
expire_logs_days = 14
max_binlog_size = 2048M