reset slave,reset slave all,reset master都干了些啥?

1、reset slave

 1)清理掉master.info

 2)清理relay-log.info

 3)删除所有的relay log文件,重启用一个新的relay log文件

 4)不清理内存里的同步复制配置信息。清除slave 复制时的master binlog的位置,重置复制延迟(CHANGE MASTER TO 的 MASTER_DELAY参数指定的)为0,不会改变复制连接使用的参数,例如master host, master port, master user, or master password

 5)不重置 gtid_executed or gtid_purged 参数值

2、reset slave all

 1)清理掉master.info

 2)清理relay-log.info

 3)删除所有的relay log文件,重启用一个新的relay log文件

 4)立即清理内存里的同步复制配置信息。这一点很有用:提升从库为主库,特别是在集群迁移中,新集群的新主库同步了旧集群的旧主库后,需要断开,则执行

       stop slave;

      reset slave all;

      show slave status\G;

      此时真正实现了清除slave同步复制关系!

       # mysql主从复制中,需要将从库提升为主库,需要取消其从库角色,这可通过执行RESET SLAVE ALL清除从库的同步复制信息、包括连接信息和二进制文件名、位置。从库上执行这个命令后,使用show slave status将不会有输出。

 5)不重置 gtid_executed or gtid_purged 参数值

3、reset master

    1)删除binlog索引文件中列出的所有binlog文件
    2)清空binlog索引文件
    3)创建一个新的binlog文件
    4)清空系统变量gtid_purged和gtid_executed, 在MySQL 5.7.5 及后续版本中, RESET MASTER还会会清空 mysql.gtid_executed数据表

 

用途:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工作;

注意:但是如果当前是主数据库,且主从数据库正常的时候,千万不能用这种方式删除。

####################################################################

场景一:给原集群添加一个新实例作为从库。(从xtrabackup备份来搭建)

当启动新的实例后按如下顺序执行:

stop slave;

reset slave all;

reset master;

change master (根据实际情况而定)

start slave;

show slave status\G;

 

场景二:集群迁移。(新集群的新主库连接到旧集群的旧主库上)

当新集群数据与旧集群数据完全同步后,在新集群的新主库上按如下顺序执行:

stop slave;

reset slave all;

show slave status\G;

 

 

################################################

posted @ 2020-03-11 15:52  igoodful  阅读(1267)  评论(0编辑  收藏  举报