Estou executando a replicação do MySQL dual master e agora quero passar para um único banco de dados sem replicação. Como desabilito completamente a replicação nos dois bancos de dados?
64
Estou executando a replicação do MySQL dual master e agora quero passar para um único banco de dados sem replicação. Como desabilito completamente a replicação nos dois bancos de dados?
Para desativar completamente a replicação com uma configuração mestre-mestre, faça o seguinte em cada escravo:
STOP SLAVE;
RESET SLAVE;
(Use RESET SLAVE ALL;
para o MySQL 5.5.16 e posterior)
SLAVE STATUS
consultas, mesmo após oRESET SLAVE
comando ser fornecido. É importante conhecer as ferramentas de monitoramento ou gerenciamento de configuração remota. Comportamento confirmado com o MySQL 5.5.38 no CentOS 6.5.Eu sei que essa é uma pergunta antiga, mas descobri que também preciso redefinir as variáveis escravas. Se você usar "blá" como sugerido, o servidor tentará na inicialização para encontrar o servidor 'blá'.
Você pode verificar se a máquina não é mais escrava
fonte
CHANGE MASTER TO MASTER_HOST=''
agora gera um erro.Nos servidores escravos:
Não há necessidade de reiniciar o MySQL no mestre ou no escravo. A documentação completa pode ser encontrada na seção 19 do Manual de Referência do MySQL .
Eu recomendo deixar o restante das configurações de replicação no local, caso decida reverter para a configuração anterior. Dessa forma, você teria que empurrar os dados e redefinir a posição do escravo (não se esqueça de remover skip-slave-start) em vez de recriar todo o pano de instalação.
fonte
Independentemente da versão do MySQL, a maneira mais completa de fazer isso é a seguinte
Isso tem que funcionar para a versão mais recente, porque a configuração de replicação ainda permanece na RAM do MySQL 5.5.
Acabei de responder uma pergunta semelhante sobre este assunto: Como mudar um escravo anterior do MySQL para ser um mestre e remover as informações de status do escravo?
fonte
Editar o arquivo my.cnf sozinho não é suficiente para desativar a replicação. De fato, não é mais a maneira recomendada de habilitá-lo. A colocação de entradas no arquivo my.cnf só é efetiva para a próxima inicialização e se comporta como se você tivesse inserido o comando no cliente mysql:
mysql> altere master para master_host = 'blá', master_user = 'blá', master_password = 'blá' ...;
Ambos os métodos criarão um arquivo no diretório de dados chamado master.info . Enquanto esse arquivo existir, o servidor tentará replicar usando os detalhes existentes. O "RESET SLAVE;" O comando listado na primeira resposta livrará o arquivo master.info (assim como o arquivo relay-log.info ). Conforme mencionado na primeira resposta, você também deseja certificar-se de que não possui essas informações de configuração no arquivo my.cnf; caso contrário, na próxima reinicialização do servidor, o log será reativado.
fonte
Uma resposta está aqui:
http://www.oops.net.br/~bac/bam/canopy_repl_setup.htm
* Edite o arquivo de configuração do MySQL: /etc/my.cnf e remova as 7 linhas a seguir na seção intitulada [mysqld]:
Reinicie o MySQL.
fonte
Estou adicionando isso à resposta de Harrison Fisk:
Se você usou
RESET SLAVE ALL;
, não será necessário reiniciar.Além disso, convém ativar eventos que foram desativados no slave:
Para cada um deles:
fonte