A maneira correta de fazer isso é stop slave; reset slave;
O 'reset slave' é a parte que limpará a configuração e impedirá a reconexão.
Eu usei a replicação para migrar todos os dados para um novo servidor, e então eu comentei master_host, master_port etc (basicamente todas as linhas relacionadas ao master) em my.cnf, emiti o slave stop. No entanto, depois de reiniciar o mysqld, o processo de replicação está sendo executado novamente! como pará-lo para sempre.
O procedimento é diferente com base na versão do servidor MySQL.
STOP SLAVE
, CHANGE MASTER TO MASTER_HOST=''
e, em seguida, RESET SLAVE
. Nessas versões, o comando RESET SLAVE
removerá os arquivos master.info e relay-log.info e a maioria das configurações, mas algumas configurações serão redefinidas para os valores padrão e isso é perigoso. Se a replicação for iniciada novamente, ela será iniciada sem conhecer a posição principal e, portanto, reaplicaria todos os logs ainda disponíveis no mestre. Para remover corretamente todas as informações sobre o mestre, você precisa executar também o comando CHANGE MASTER
.
STOP SLAVE
e, em seguida, RESET SLAVE ALL
. Aqui, o RESET SLAVE
(sem a palavra-chave ALL
) se comporta da mesma maneira - não removendo todas as informações. No entanto, também o CHANGE MASTER
não ajuda em 5.5+, então você precisa ser cuidadoso e saber em qual versão do MySQL você está trabalhando atualmente.
Para interromper completamente a replicação, você tem duas maneiras
master.info
que está na raiz do seu mysql, que removerá as informações de replicação Em qualquer um desses casos, você precisará refazer sua replicação mais tarde, anote todos os dados de replicação, como a última posição e o último arquivo bin da fonte, para o caso de querer iniciar a replicação novamente.
Eu costumo fazer um STOP SLAVE; CHANGE MASTER TO MASTER_HOST='';
para matar um escravo.
Tags mysql replication