Quando temos uma replicação envolvendo mais de 1 servidor master temos que tomar o cuidado para que a replicação não pare de funcionar, e o primeiro problema que qualquer DBA enfrenta é o erro de chave primária duplicada.

 Variáveis que devem ser configuradas em todos os servidores Master.

Copy to Clipboard

Porém é muito simples e fácil não passar por esse problema.
Temos 2 variáveis fundamentais e é muito simples a sua correta configuração.
Obs: O que eu mais vejo por ai é configurado da forma errada, ou configurada no chute, sem entender a forma correta de usar

Variável Descrição
auto_increment_increment Define o intervalo de valores das colunas auto_increment, o salto que o auto_incremtn vai precisar fazer para que não tenha valores duplicados.
O valor aqui, deve ser pelo menos a quantidade de servidores Master que a replicação for ter, se for uma replicação Master-Master, o valor deve ser pelo menos 2, se for uma replicação circular o valor deve ser pelo menos igual a quantidade de servidores que estão na replicação
auto_increment_offset Define o valor inicial da colune auto_incremet_offset. O seu valor deve ser informado seguindo uma sequência iniciando por 1(não é uma regra, mas é mais fácil pensa assim para que não exista furos e venha ocorrer uma quebra na replicação pelo duplicação do valor de uma chave primária) até a quantidade de servidores Master que a replicação possui.

Vamos supor que temos uma infraestrutura com 3 servidores MySQL, vamos chamar de A, B e C. Eles estão configurados com uma replicação em formato de circular, onde todos serão Masters ou seja, teremos escrita em todos os servidores.

A -> B -> C -> A

O valor da variável auto_increment_increment sempre será o número de servidores masters que fazem parte da replicação, e o valor da variável auto_increment_offset será diferente em todos os servidores e o seu valor é sequencial, começando pelo número 1.

Servidor A

Copy to Clipboard

Servidor B

Copy to Clipboard

Servidor C

Copy to Clipboard

Com essa configuração você não terá mais problemas de colunas auto_increment tendo valores duplicados em diferentes servidores.

Obs: Para uma replicação em anel, não é apenas essa configuração que é necessária, fique atento a isso, veja também sobre a variável log_slave_updates.