MySQL同步故障:" Slave_SQL_Running:No"的解决办法

1、查看slave的log-bin和master的是否一致,查询Position是否一致

不一致可在slave上重新指定主库

MariaDB [(none)]> change master to  master_host="192.168.70.10",
master_user="jfedu", master_password="123456", master_log_file="jfedu-
bin.000003", master_log_pos=982; 

master地址、用户、密码、log-file、log-pos都要和主库保持一致

2、还有可能是在从库进行了写操作,也有可能是从库重启,事务回滚导致

解决办法:

MariaDB [(none)]> slave stop;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> slave start;
Query OK, 0 rows affected (0.00 sec)

查看是否解决

在使用set global sql_slave_skip_counter=1; 时要注意以下几点:

  1. 检查跳过的event是否在一个事物中
  2. 跳过slave上的event进行后续处理后要检查数据的一致性。
  3. 最好能在master的binglog上查看一下跳过的evnet到底做了写什么。

发表评论

登录... 后才能评论