Antecedentes : tengo dos servidores MySQL 5.1 configurados en la replicación basada en filas Master-Master (RBR) siguiendo esta excelente guía . Quiero todas las bases de datos replicadas, y agregaré nuevas bases de datos regularmente.
Objetivo : me gustaría poder agregar nuevas bases de datos a la replicación simplemente agregando la base de datos a uno de los servidores; sin tener que detener a ambos esclavos, cambiar los archivos de configuración, reiniciar los servidores MySQL e iniciar los esclavos nuevamente.
Pregunta : Por lo que he leído, yo creo que puedo hacer esto simplemente omitiendo alguna binlog-do-db
, binlog-ignore-db
, replicate-do-db
, y replicate-ignore-db
ajustes en la configuración de cada servidor, pero no puedo estar seguro. Los documentos de MySQL sobre cómo se evalúan las opciones de replicación a nivel de base de datos y tabla me hacen pensar que podría no haber forma de lograr esto.
Las partes relevantes de mis /etc/mysql/my.cnf
archivos se copian a continuación. ¿Estoy en el camino correcto? ¿Es posible lo que quiero?
Maestro 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