Linux MySQL 主从同步失败,报错 1594


mysql 的主从同步挂了,从日志中报的错如下:
120309 18:39:23 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000004' at position 2207467, relay log './mysqld-relay-bin.000011' position: 2207613
120309 18:39:23 [ERROR] Error in Log_event::read_log_event(): 'read error', data_len: 166, event_type: 2
120309 18:39:23 [ERROR] Error reading relay log event: slave SQL thread aborted because of I/O error
120309 18:39:23 [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 able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
 Error_code: 1594
120309 18:39:23 [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.000004' position 2207467

分析主要原因是因为断电,所以引起读 binlog 出错,根据网上一些资料,修复的方法是:

?
1 2 3 4 5 6 7 8 stop slave; change master to  master_host='192.168.1.251',  master_user='repl',  master_password='password',  master_log_file='mysql-bin.000004',  master_log_pos=2207467; start slave;

这样就修复 OK 了.上面的同步文件和同步点 pos 是日志中报错上次记录的位置.

相关内容