Предыстория : у меня есть два сервера 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