O MySQL master tem uma tabela Products
que possui gatilhos em update
e delete
. Os registros excluídos/atualizados são armazenados na ProductsUpdatedDeleted
guia.
Quando um registro é excluído, a operação é replicada para o servidor escravo. A questão é que o slave também executa o trigger adicionando assim um registro em sua ProductsUpdatedDeleted
tabela. Em seguida, um registro duplicado é ProductsUpdatedDeleted
recebido do servidor mestre por meio de replicação.
Qual é a melhor maneira de parar o escravo para executar triggers? Posso comentar o código do gatilho no escravo, mas prefiro os dois servidores no mesmo estado para um failover rápido.
Basicamente, existem dois métodos
MÉTODO 1
Use a replicação baseada em linha. Diz isso nos parágrafos 1-3 de "Replicação e Gatilhos"
MÉTODO #2
Solte todos os gatilhos no Slave. Nenhum gatilho presente, nenhum gatilho para executar.
Não faça ambos os métodos. Basta selecionar um método.