首页 > 代码库 > 关于SQLyog操作Mysql双主、主从同步异常问题

关于SQLyog操作Mysql双主、主从同步异常问题


本人遇到的问题发生在mysql 5.6.21 M-M中:

Master1 Server version: 5.6.21-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)

Master2 Server version: 5.6.21-enterprise-commercial-advanced-log MySQL Enterprise Server - Advanced Edition (Commercial)

Master1 Os version: CentOS release 6.5 (Final) 

Master2 Os version: CentOS release 6.5 (Final) 


同步相关参数:

Master1:

server-id=1

log-slave-updates

auto_increment_increment=2

auto_increment_offset=1

replicate-do-db=*****

relay_log_recovery

Master2:

server-id=2

log-slave-updates

auto_increment_increment=2

auto_increment_offset=2

replicate-do-db=*****

relay_log_recovery


问题描述:

SQLyog对Master1做DML操作时,记录未同步到Master2对应库表里;使用其他工具操作mysql,同步正常


排查过程:

1.首先查看Master1和Master2的master、slave状态,均显示基本正常;

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

2.然后查看errlog,无相关错误信息


3.用mysqlbinlog解析master2的relay log和binlog,发现在relay log中存在SQLyog工具的DML语句,但是在binlog里面没有出现该DML语句


相关分析:

在“slave” 的relay中找到了相关sql,但是在binlog中没找到该sql,说明salve I/O线程日志的同步正常;只是slave SQL线程执行SQL有异常,

但是查看master和slave的状态,均显示正常,而且无报错信息。网上查找相关资料,发现几个SQLyog同步问题比较典型的帖子,但均无解决办

法:

http://blog.csdn.net/linvo/article/details/6566215

http://bbs.csdn.net/topics/390672280


如果是客户端工具导致主主、主从同步异常的话,感觉解释起来有点太牵强,理论上讲不通,除非是mysql Slave_SQL_Running线程对

SQLyog的语句解析异常,直接跳过了SQLyog编译出的sql,这么解释还是感觉有点问题;但是说回来,用其他工具来操作mysql,同步正常无异

常。总之感觉有点怪异。


请求大神们能帮忙解释一下此问题。



关于SQLyog操作Mysql双主、主从同步异常问题