转载请注明转载自:忆雨林枫

MySQL 5.7 多源复制下清除某个复制channel

由于是多源复制,而且需求是停止某个复制通道,那么就不能停止整个复制,
此时就不能像5.6中直接STOP SLAVE thread_types;这个命令是停止所有的复制通道。

thread_types 不指定的话,就是同时 Slave_IO和Slave_SQL
在MySQL5.7中停止复制有两种

#1.停止所有的复制通道
STOP SLAVE thread_types;
#2.指定复制通道停止
STOP SLAVE thread_types FOR CHANNEL ‘channel_names’;

然后重置多源复制的从库
同样有两种
通过reset slave语句可以重置多源复制的从库,默认是重置所有的复制通道,也可以指定通道进行重置

RESET SLAVE;
RESET SLAVE FOR CHANNEL ‘channel_names’;
此时从库的master_info 表中就没有对应channel的信息了,但是show slave status的时候还是看得到相关信息。
有些基于实时show slave status信息的报警就会触发。
为了彻底消除报警,只能重启了!