mysql主从复制中,须要将从库提高为主库,须要取消其从库角色,这可经过执行RESET SLAVE ALL清除从库的同步复制信息、包括链接信息和二进制文件名、位置。从库上执行这个命令后,使用show slave status将不会有输出。mysql
RESET SLAVE vs. RESET SLAVE ALL: Disconnecting a replication slave is easier with MySQL 5.5+sql
参考连接:http://www.tuicool.com/articles/ZJnUn2数据库
mysql> stop slave; QueryOK, 0 rowsaffected (0,00 sec) mysql> reset slave all; QueryOK, 0 rowsaffected (0,04 sec) mysql> show slave status\G Emptyset (0,00 sec)
此时真正实现了清除slave同步复制关系!测试
--------------------------------------------------------------------------------ui
【一】RESET MASTER参数spa
功能说明:删除全部的binglog日志文件,并将日志索引文件清空,从新开始全部新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工做;操作系统
测试以下:.net
未删除前日志 [root@mysql01 mysql]# pwd mysql> show master status\G; 当前有25个binlong日志,且Position的位置为107 |
运行RESET MASTER
mysql> reset master; mysql> show master status\G;
显示全部的binlog已经被删除掉,且binlog从000001 开始记录 |
注:当数据库要清理binlog文件的时候,能够经过操做系统进行删除,也能够运行reset master进行删除。可是若是当前是主数据库,且主从数据库正常的时候,千万不能用这种方式删除。
【使用场景】第一次搭建主从数据库时,用于主库的初始化binglog操做;
【二】RESET SLAVE
功能说明:用于删除SLAVE数据库的relaylog日志文件,并从新启用新的relaylog文件;
登陆从数据库,未删除前 mysql> show slave status\G; 当前relaylog为0004; |
删除后 mysql> stop slave; 先中止slave mysql> reset slave;
mysql> show slave status\G;
|
RESET SLAVE将使SLAVE忘记主从复制关系的位置信息。该语句将被用于干净的启动, 它删除master.info文件和relay-log.info 文件以及全部的relay log 文件并从新启用一个新的relaylog文件。
使用场景:当原来的主从关系被破坏以后,从库通过从新初始化后直接链接会报 ERROR 1201的错误,运行reset slave后,从新配置主从链接就能够了;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.167',MASTER_USER='test',MASTER_PASSWORD='test', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=176658;
ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log |
总结:若是是须要删除mysql binlog和relaylog文件的时候,那么经过操做系统的删除或者PURGE命令均可以,可是涉及到mysql主从配置的时候便须要使用RESET MASTER和RESET SLAVE解决问题