小编给大家分享一下MySQL中出现复制1594错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
现象:
mysql> show slave status\G;
*************************** 1. row ***************************
-------------------------------------------------
Master_Log_File: mysql-bin.000191
Read_Master_Log_Pos: 334164088
Relay_Log_File: mysql-srelay.000533
Relay_Log_Pos: 902042386
Relay_Master_Log_File: mysql-bin.000190
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Wild_Ignore_Table:
Last_Errno: 1594
Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
error_log如下:
160519 18:42:21 [ERROR] Error reading relay log event: Could not open log file
160519 18:42:21 [ERROR] Slave SQL: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's
relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be abl
e to know their names by issuing 'SHOW SLAVE STATUS' on this slave. Error_code: 1594
160519 18:42:21 [ERROR] Slave (additional info): File '/data/mysql3307/logs/mysql-srelay.030613' not found (Errcode: 2) Error_code: 29
160519 18:42:21 [Warning] Slave: File '/data/mysql3307/logs/mysql-srelay.030613' not found (Errcode: 2) Error_code: 29
160519 18:42:21 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.009095' position 1069989357
解析:
从日志我们看出可能是master或者slave的binlog损坏或者网络问题
但是网络测过是正常的
然后stop slave,发现主库上的binlog继续增加,且没产生error_log
由此怀疑从库中继binlog损害
解决:
既然找出了原因,解决就相对容易了
1.从库执行reset slave,清除掉binlog日志
2.从出错前的位置开始启动复制
本例的复制位置为:
'mysql-bin.009095' position 1069989357
以上是“MySQL中出现复制1594错误怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!