Algumas tabelas no servidor de réplica (db2) foram marcadas como travadas. Copiamos todos os arquivos do banco de dados (inteiro /var/lib/mysql
) para outro servidor (db3) para reparar essas tabelas. No final, tivemos que usar pt-archive
a ferramenta para copiar dados para as duas maiores tabelas do servidor principal (db1). Copiei os arquivos da tabela fixa do servidor temporário (db3) para a réplica antiga (db2) e iniciei a replicação. Está funcionando, mas quero iniciar uma nova replicação do servidor primário (db1) para a nova réplica (db3), que foi usada como temporária.
Posso fazer isso?
- Copie os arquivos master.info e relay-log.info
- Definir server_id = 3 no arquivo de configuração
RESET SLAVE
- Inicie uma nova replicação usando informações de arquivos copiados da etapa 1
CHANGE MASTER TO MASTER_HOST='XXXX', MASTER_USER='XXX', MASTER_PASSWORD='pass',
MASTER_PORT=3306, MASTER_LOG_FILE='master1-bin.000096', MASTER_LOG_POS=568;
Eu perdi alguma coisa?
Provavelmente não deveria
RESET
- a "informação" tem o que precisa na cópia.Etapa 0:
SLAVE STOP;
-- Caso contrário, os dados e os logs ficarão fora de sincronia.(Pode haver mais 'erros'.) Copiei apenas o servidor inteiro e atualizei "server_id" em my.cnf. (Além de quaisquer alterações necessárias para o tamanho da RAM diferente.)