千万别手欠执行stopslave
程序员文章站
2022-06-09 18:30:52
...
今天我一个朋友,执行了stop slave,给卡死了,结果kill 进程ID也杀不死。 这是由于在主库上执行了一条很耗时的大SQL,通过主从复制在从库接收过来后,SQL_THREAD开始执行, 这时你只要执行了stop slave,立马就卡死,之后你再执行show slave status\G;也会
今天我一个朋友,执行了stop slave,给卡死了,结果kill 进程ID也杀不死。
这是由于在主库上执行了一条很耗时的大SQL,通过主从复制在从库接收过来后,SQL_THREAD开始执行,
这时你只要执行了stop slave,立马就卡死,之后你再执行show slave status\G;也会被卡住,必须等
待那条大SQL执行完,才会结束stop slave,除非你pkill -9 mysql进程。
下面就来重现一下,主库上执行全表更新update sbtest set c='mariadb';等执行完以后,会记录到binlog日志里,然后在从库执行的时候,stop slave,就会卡住。
最后,提醒一下,在执行stop slave的时候,一定要看下主库上的慢SQL,避免出现被卡住的情况发生。