Resumo de falha mestre-escravo do MySQL
Sintoma 1: Slave_IO_Running é NÃO
Erro:
Slave_IO_Running na biblioteca é NÃO
A thread de E / S do escravo para porque o mestre e o escravo têm ids de servidor MySQL iguais; esses ids devem ser diferentes para que a replicação funcione (ou a opção --replicate-same-server-id deve ser usada no escravo, mas isso nem sempre faz sentido; verifique o manual antes de usá-lo).
analise de problemas:
O valor de server-id da biblioteca master e da biblioteca slave são os mesmos.
Solução:
Modifique o valor de id do servidor da biblioteca escrava para ser diferente da biblioteca principal e inferior ao da biblioteca principal. Reinicie após a modificação e sincronize novamente
Sintoma 2: Slave_IO_Running é NÃO
Erro:
Slave_IO_Running na biblioteca é NÃO
analise de problemas:
Existem muitos motivos pelos quais o thread da biblioteca escrava é NÃO. O principal motivo é que a chave primária está em conflito ou o banco de dados mestre exclui ou atualiza os dados, o banco de dados escravo não consegue encontrar o registro e os dados são modificados. Normalmente, o erro de código de status é 1007, 1032, 1062, 1452, etc.
Solução um:
mysql> stop slave;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave;
Solução dois:
Definir permissões de usuário, definir permissões somente leitura da biblioteca
set global read_only=true;
故障 现象 三 : Erro ao inicializar a posição do registro do relé: Erro de E / S ao ler o cabeçalho do registro binário
Erro:
Erro ao inicializar a posição do registro do relé: erro de E / S ao ler o cabeçalho do registro binário
分析 问题:
O relé-bin da biblioteca escrava está danificado.
Solução:
Repare manualmente, encontre o log bin e os pontos de posição sincronizados novamente e, em seguida, sincronize novamente.
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.xxx',MASTER_LOG_POS=xxx;