mysql主从运行正常一段时间后,今天突然发现同步出错,显示如下错误信息:
[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 c
an 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 is
suing 'SHOW SLAVE STATUS' on this slave. Error_code: 1594
当查看mysql从库的时候,显示这样的错误
解决方法:
首先将从库停止,然后重置
slave stop;
reset slave;
在主库上运行命令查询主库此时运行的状态
show master status;
这里要记下bin-log文件名,以及Position值
将需要同步的数据库在主库完整备份,然后到从库恢复,在恢复完成之后,重新使用master change来指定主库同步:
change master to master_host='xxxxx',master_user='xxxxx', master_password='xxxxxx', master_port=3306, master_log_file='mysql-bin.000020', master_log_pos=135617781;
这里相关信息根据实际情况填写,需要注意的是:
master_log_file
master_log_pos
这两个值需要填写在主库上查询的对应bin-log文件名,以及Position值。
最后启动从库同步,主从变回正常
slave start;
|