mk-slave-restart - 对slave进行监控,以及在slave报错后,重启slave。安装方法查看这里。
其实可以理解成在slave执行了如下命令:

stop slave;
set global sql_slave_skip_counter=1;
start slave;

下面举例说明:
先模拟一个slave报错,在主库建表,然后在从库删除,再去主库删除。报错如下:

Last_SQL_Errno: 1051
Last_SQL_Error: Error ‘Unknown table ‘test_sg” on query. Default database: ‘test’. Query: ‘drop table test_sg’

在利用mk-slave-restart去重启这个slave;

[root@mysql2 ~]# mk-slave-restart -u xxx -p xxx -h xxx –run-time 3 –skip-count 1
2010-03-09T14:01:57 h=xxx,p=…,u=xxx slave-relay-bin.000215 74173942 1051

解释下参数:
run-time:指监控slave的时间,单位是秒;
skip-count:指跳过log的数量;

解释下输出:
1、time
2、slave IP
3、user
4、passwd
5、MASTER_LOG_FILE
6、MASTER_LOG_POS
7、Last_SQL_Errno

很显然mk-slave-restart是一个很不错的slave监控工具,当salve出错后能及时报警,并直接重启slave。同时输出了报错的相关信息,方便后面查询在哪出错,是什么错。下面给出它的帮助:

[root@mysql2 ~]# mk-slave-restart –help
mk-slave-restart watches one or more MySQL replication slaves for errors, and
tries to [...]