Передумови : У мене є два налаштування серверів MySQL 5.1 у програмі Master-Master на основі рядкової реплікації (RBR) за цим чудовим посібником . Я хочу, щоб усі бази даних повторювалися, і вони будуть регулярно додавати нові бази даних.
Мета : Я хотів би мати можливість додавати нові бази даних до реплікації, просто додавши БД на один із серверів; не потрібно зупиняти обох рабів, змінити конфігураційні файли, перезапустити сервери MySQL та запустити раби знову.
Питання : З того, що я прочитав, я думаю , що я можу зробити це, просто опускаючи будь binlog-do-db
, binlog-ignore-db
, replicate-do-db
і replicate-ignore-db
настройки в конфігурації кожного сервера, але я не можу бути впевнений. Документи MySQL про те , як оцінюються параметри реплікації на рівні баз даних та таблиць , змушують мене думати, що це взагалі не може бути досягнуто.
Відповідні частини моїх /etc/mysql/my.cnf
файлів скопійовані нижче. Я на правильному шляху? Чи те, що я хочу, навіть можливо?
Майстер 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
Майстер 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