一台master带三台slave
今天三台slaves上执行show slave status命令式,同时出现错误:
               Last_SQL_Errno: 1594
               Last_SQL_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.
以前遇上的情况是Read_Master_Log_Pos不再增长,只需要从这个同步点重新恢复一下即可。
但现在的问题是Read_Master_Log_Pos还一直在增长,Relay_Log_Pos倒是不再增长了。这种情况下,我该如何查找同步点呢?Relay_Log中的同步点的计数跟Master_Log都不一致呀

解决方案 »

  1.   

    奇怪的是,为什么几台从服务器上的relay log 会同时停止同步,而且都是同一个同步点出现问题。看来不甚理解relay binlog 和master binlog的关系
      

  2.   

    如果执行stop slave sql_thread ;那么是会产生Read_Master_Log_Pos还一直在增长,Relay_Log_Pos不增长的
    因为io线程复制过来的binlog有错误的地方,所以推荐重新mysqldump备份  重做salve,这样就可以跳过binlog出错的地方
      

  3.   

    The possible reasons are: the master's binary log is corrupted是不是master宕机过?
    如果是,你只需要change master to 宕机后生成的那个BINLOG的最开始的POS位置就行了。