我用复制迁移到一个新的服务器的所有数据,然后我注意到master.cn,master_port等(基本上所有行相关的主)在my.cnf,我发出停止奴隶。
不过我重启mysqld之后,复制过程再次运行! 如何阻止它的好。
正确的做法是stop slave; reset slave; stop slave; reset slave;
“重置从属”是将擦除configuration,并防止重新连接的一部分。
该过程根据MySQL服务器版本而不同。
STOP SLAVE , CHANGE MASTER TO MASTER_HOST='' ,然后RESET SLAVE 。 在这些版本中, RESET SLAVE命令将删除文件master.info和relay-log.info以及大部分设置,但是某些设置将被重置为默认值,这很危险。 如果再次启动复制,它将在不知道主位置的情况下启动,因此将重新应用主服务器上仍然可用的所有日志。 要正确删除有关主人的所有信息,您还需要运行CHANGE MASTER命令。
STOP SLAVE ,然后重新启动RESET SLAVE ALL 。 这里的RESET SLAVE (没有ALL关键字)的行为方式是相同的 – 不删除所有的信息。 然而, CHANGE MASTER对5.5+也没有帮助,所以你必须小心并知道你正在使用哪个MySQL版本。
为了完全停止复制,你有两种方法
master.info ,这将删除复制信息 在任何这些情况下,您需要稍后重新进行复制,写下所有复制数据(如最后一个位置和最后一个源文件bin文件),以防万一要再次开始复制。
我通常做一个STOP SLAVE; CHANGE MASTER TO MASTER_HOST=''; STOP SLAVE; CHANGE MASTER TO MASTER_HOST=''; 杀死一个奴隶。