MySQL GTID主从同步故障修复
一、简单故障
故障1:
解决方法:
- 在终端执行
mysql>slave stop;
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 #跳过一个事务
mysql>slave start;
- 以上方法报错的的话使用此方法
在[mysqld]字段下添加,如果错误多可以以逗号分隔继续添加,也可以使用slave-skip-errors=all来跳过所有错误
vim /usr/local/mysql/etc/my.cnf
slave-skip-errors=1032
/etc/init.d/mysqld restart
二、同步故障
故障2:
解决方法:
主库查看gtid_purged并且记录
mysql> show global variables like '%gtid%'\G
Variable_name: gtid_purged
Value: 0003be53-e103-11e7-9374-7cd30ab49ab8:1-209325833,
0a3aea84-f824-11e6-a4f1-ecf4bbd14b7c:1-226325123,
1494a77a-93ba-11e7-9b7e-6c92bf3160a3:1-113493689,
cdcb29ce-f7ad-11e5-9c99-f84abfe485f4:1-4244249,
db4186a3-f7ad-11e5-9c99-ac853daf2ee1:1-4,
fde4cefa-93b9-11e7-9b7d-6c92bf2c1761:1-131616080
在从库执行
#清除从库的主从信息
mysql> stop slave;
mysql> reset slave;
mysql> reset master;
#设置gtid_purged
mysql> set @@global.gtid_purged='0003be53-e103-11e7-9374-7cd30ab49ab8:1-209325833,
0a3aea84-f824-11e6-a4f1-ecf4bbd14b7c:1-226325123
,1494a77a-93ba-11e7-9b7e-6c92bf3160a3:1-113493689,
cdcb29ce-f7ad-11e5-9c99-f84abfe485f4:1-4244249,
db4186a3-f7ad-11e5-9c99-ac853daf2ee1:1-4,
fde4cefa-93b9-11e7-9b7d-6c92bf2c1761:1-131616080';
#重新设置主从同步
mysql> change master to master_host='ip地址',
master_port=3306,
master_user='usernamet',
master_password='password',
master_auto_position=1;
#启动从
mysql> start slave;
如果主从同步配置完成后遇到类似于错误1的错误,可以使用错误1的解决方法来解决。