Mysql报错:Error_code: 1032;handler error HA_ERR_KEY_NOT_FOUND
文章目录一、问题二、解决方法1. 方法一2.方法二一、问题mysql-5.6.20主从同步错误之Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND或(主从复制,当主从同步状态异常时,通过对比检查二进制文件和中继日志文件,发现master 和slave 节点之间同步的位置点发生了偏移,请问这可能时什么情况引起的,如何解决)二、解决方法1. 方法一
一、问题
mysql-5.6.20主从同步错误之Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND或(主从复制,当主从同步状态异常时,通过对比检查二进制文件和中继日志文件,发现master 和slave 节点之间同步的位置点发生了偏移,请问这可能时什么情况引起的,如何解决)
二、解决方法
1. 方法一
1.Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND 是主从更新时丢失数据,导致主从不一致,在从库上mysql> show slave status\G;结果如下
2.在master上,用mysql binlog 分析下出错的binlog日志在干什么
/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.000042 | grep -A ‘10’ 455223179
3.查询master和slave上对应的数据,主库有而从库没有
select * from log_silver where id=9097514\G;
4.把丢失的数据在slave上填补,然后跳过报错
mysql> insert into t1 values();
mysql> stop slave ;set global sql_slave_skip_counter=1;start slave;
5.查看同步结果
mysql> show slave status\G;
2.方法二
1.如果用方法一还是不能主从同步,查询到这个错误是mysql的bug导致的
2.解决的办法:
-
1.最好的办法是升级数据库 保证bug不会重现;
-
2.利用配置参数 来躲避这个bug vi /etc/my.cnf
slave-skip-errors = 1032,xxxx,xxxx … -
3.临时逃避此次错误。
set global sql_slave_skip_counter=1; stop slave; start slave;
更多推荐
所有评论(0)