Antecedentes : Eu tenho dois servidores MySQL 5.1 configurados na RBR (Master-Master-Based-Replication), seguindo este excelente guia . Desejo que todos os bancos de dados sejam replicados e adicionarei novos bancos de dados regularmente.
Objetivo : gostaria de poder adicionar novos bancos de dados à replicação apenas adicionando o banco de dados a um dos servidores; sem precisar parar os dois escravos, altere os arquivos de configuração, reinicie os servidores MySQL e inicie os escravos novamente.
Pergunta : Pelo que tenho lido, eu acho que posso fazer isso simplesmente omitindo nenhum binlog-do-db
, binlog-ignore-db
, replicate-do-db
, e replicate-ignore-db
ajustes na configuração de cada servidor, mas não posso ter certeza. Os documentos do MySQL sobre como as opções de replicação em nível de banco de dados e tabela são avaliadas me fazem pensar que pode não haver maneira de fazer isso.
Partes relevantes dos meus /etc/mysql/my.cnf
arquivos são copiadas abaixo. Estou no caminho certo? O que eu quero é possível?
Mestre 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
Mestre 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