MySQL slave-skip-errors = 0?

1

Estou migrando um cluster que possui o seguinte conjunto de erros de salto secundário:

slave-skip-errors = 0,1062,1053,1051

É claro que, à medida que essas coisas acontecem, ninguém sabe por que foi configurado assim ou quem fez isso, ou se estão mesmo com a empresa. Eu também sei por que não colocar erros de escravo de qualquer tipo, mas eu não tenho a menor idéia do "0". A replicação que estou configurando não terá nenhum erro de ignorar escravo.

Analisando o link , posso encontrar todos os códigos que são ignorado. Eu só posso supor que o zero é um tipo de pega-tudo para erros de salto-escravo? Meu google-fu não é tão strong assim, eu realmente não consigo encontrar uma resposta para a minha pergunta, então eu espero que algum guru do MySQL aqui possa confirmar ou negar o 0, e se ele de fato fizer qualquer coisa.

Obrigado!

    
por Vladimir 21.10.2016 / 21:50

1 resposta

2

Não deve haver nenhum destes, esta diretiva de configuração deve ser definida como padrão (não ignorando nenhum dos erros). Tão simples como isso. E se eu fosse você - reinitializaria toda a réplica. Está quase inevitavelmente fora de sincronia, no nível lógico.

Esta legenda urbana (configurando não padrão slave-skip-errors ) vem de duas coisas:

  • falta de compreensão de como a replicação funciona
  • o fato engraçado de que o MySQL não define a réplica para read-only por padrão, portanto, qualquer cliente que ainda se conecte a ele (devido a descritores de conexão obsoletos ou poolers de conexão bloqueados) pode facilmente danificá-lo. Assim, cada réplica provavelmente precisa ser read-only , a menos que haja uma replicação de cadeia cíclica (do meu ponto de vista - outro absurdo) ou pelo menos um entendimento definitivo do motivo pelo qual ela deve ser de leitura / gravação.
por 21.10.2016 / 22:35