因机房突然断电导致负责的一组MySQL 5.6主从出现1236错误,提示读取Binlog严重错误:position点读取错误,导致I/O线程终止。如下:
可以看到,从库要读取的Position比主库上此binlog日志的最后一个Position还要大。此由于主机异常掉电导致binlog 未及时同步到磁盘。从库读取了主库binlog file中的不存在的binlog position ,一般比binlogfile 的end position 的值还要大。
解决:在从库重新指向到主库下一个可用的binlog file 且从binlog file初始化的位置开始即可
mysql> stop slave; Query OK, 0 rows affected (0.02 sec) mysql> CHANGE MASTER TO master_log_file='mysql-bin.000002' , master_log_pos=4; Query OK, 0 rows affected (0.05 sec) mysql> start slave ; Query OK, 0 rows affected (0.00 sec) mysql> show slave status \G;
恢复正常。
6666