mysq 主從同步錯誤之 Error_code 1032 handler error HA_ERR_KEY_NOT_FOUND

方法一: 

1.Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND 是主從更新時丟失數據,導致主從不一致,在從庫上mysql> show slave status\G;結果如下

2.在master上,用mysqlbinlog 分析下出錯的binlog日誌在幹什麼:

/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.013934 | grep -A '10' 975912206

 

/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.013934 > 20200528.log

查找對應POS,發現是這麼一條SQL操作

3.查詢master和slave上對應的數據,主庫有而從庫沒有

 select * from log_silver where id=1019381914\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;

方法二:

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;

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章