我用复制迁移到一个新的服务器的所有数据,然后我注意到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='';
杀死一个奴隶。