O binlog em DB2
não estava atualizando as atualizações do escravo. Para encadear a replicação, é preciso definir log-slave-updates
em my.conf.
Estou no processo de migração de 2 servidores de banco de dados (mestre e escravo) para dois novos servidores de banco de dados (mestre e escravo)
DB1 - Master (produção)
DB2 - escravo (produção)
DB3 - Novo mestre
DB4 - Novo Escravo
Atualmente, tenho a replicação configurada como:
DB1 -> DB2
DB3 -> DB4
Para obter os dados de produção replicados para os novos servidores, eu gostaria de tê-los "encadeados" para que fique assim:
DB1 -> DB2 -> DB3 -> DB4
Isso é possível? Quando executo show master status;
no DB2 (o escravo de produção), a ocupação do log binário nunca parece mudar:
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000020 | 98 | | | +------------------+----------+--------------+------------------+
Estou um pouco confuso sobre por que a posição do log binário não está mudando no DB2, Idealmente, será o mestre para DB3.
O binlog em DB2
não estava atualizando as atualizações do escravo. Para encadear a replicação, é preciso definir log-slave-updates
em my.conf.
Sim, é possível :) Isso é chamado de replicação "Master with Relay Slave" e há muitos documentos sobre isso na rede.
Eu recomendo que você dê uma olhada na documentação oficial aqui .
Btw, também dê uma olhada nestes slides . Eles têm algumas dicas sobre topologias de replicação.
Espero que isso ajude.
sim - você pode criar servidores mysql, você pode até fazer um replicação circular com duas ou mais máquinas. lembre-se de ativar o binlogging no slave que também atua como master.
Sim, é possível. Realisticamente, você precisa de um novo instantâneo do DB2 para construir o DB3. Nesse ponto, se você tiver uma boa posição, você pode usar o DB4 ou usar outro snapshot do DB3.
Não se esqueça de definir server_id
exclusivo para cada servidor.
Alto desempenho MySQL é um ótimo livro para referenciar a administração mais avançada do MySQL.
Por que não apenas adicionar o DB3 como um novo escravo, e depois promovê-lo para dominar quando você estiver pronto para fazer a troca? Isso lhe daria o benefício adicional temporário de ter vários escravos e reduzir ou eliminar seu tempo de inatividade.
Tags mysql mysql-replication