插入数据后,MySQL复制Slave_SQL_Running失败

时间:2015-10-20 14:43:33

标签: mysql replication

对于学校,我必须在同一台计算机上使用MySQL的主从复制。

由于您无法在计算机上运行同一MySQL版本的多个实例,因此我使用MySQL 5.6作为主服务器(端口3306),使用MySQL 5.5作为服务器(端口3307)。

执行以下查询后:

stop slave;
CHANGE MASTER TO
MASTER_HOST='localhost',
MASTER_PORT=3306,
MASTER_USER='MySQL_SLAVE',
MASTER_PASSWORD='mypasswordgoeshere',
MASTER_LOG_FILE='mysql-bin.000007',
MASTER_LOG_POS=1571;
start slave;
show slave status

我看到Slave_IO_Running和Slave_SQL_Running都成功了。

但是,在master数据库中插入数据后,Slave_SQL_Running值从“Yes”切换为“No”。

Last_Error列给出了:

1594 - 中继日志读取失败:无法解析中继日志事件条目。 可能的原因是:主服务器的二进制日志已损坏(您可以通过在二进制日志上运行'mysqlbinlog'来检查),从服务器的中继日志已损坏(您可以通过在中继日志上运行'mysqlbinlog'来检查这一点) ),网络问题,或主人或奴隶的MySQL代码中的错误。如果你想检查主人的二进制日志或奴隶的中继日志,你可以通过发出'SHOW SLAVE STATUS'来知道他们的名字。在这个奴隶上。

在我的主服务器和从服务器的二进制日志上使用mysqlbinlog命令,我看到没有错误。 由于我在一台计算机上运行这两个实例,我很确定我的问题不是由网络问题引起的。由于我刚刚将主数据导入到slave的数据中,我很确定这也不是由MySQL代码引起的。

有什么想法吗?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

通过在主服务器上将binlog_format从'ROW'更改为'MIXED'来解决问题。