MySQL 报错 Last_SQL_Errno: 1032

show slave status \G

MySQL 报错 Last_SQL_Errno: 1032

Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Update_rows event on table 35lq_db.dr_planstats_h; Can't find record in 'dr_planstats_h', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000010, end_log_pos 317865

MySQL 报错 Last_SQL_Errno: 1032

end_log_pos 有了它,根据pos值,在主库上直接就能找到,找到那条数据,反做(变成insert)

/usr/local/mysql/bin/mysqlbinlog  -v --base64-output=DECODE-ROWS /data/mysql/binlog/mysql-bin.000010 | grep -A '10' 317865

MySQL 报错 Last_SQL_Errno: 1032

mysql> select * from 35lq_db.dr_planstats_h where id=39222;

MySQL 报错 Last_SQL_Errno: 1032

知道是那条数据就好办了,

我通过 Navicat for MySQL 把这个表导出,
选择SQL脚本文件
勾选 ‘包含列的标题’
点击‘开始’ 然后就可以看到导出的sql文件位置
使用notepad++ 打开导出的sql文件
找到sql语句,在slave上插入,启动slave。

MySQL 报错 Last_SQL_Errno: 1032

MySQL 报错 Last_SQL_Errno: 1032

MySQL 报错 Last_SQL_Errno: 1032

MySQL 报错 Last_SQL_Errno: 1032

使用notepad++ 打开导出的sql文件

MySQL 报错 Last_SQL_Errno: 1032

INSERT INTO `dr_planstats_h` (`id`, `day`, `hours`, `uid`, `planid`, `money`, `adstypeid`, `ipnums`, `views`, `clicks`) VALUES (39222, '2018-7-18', 11, 35, 65, 651.5340, 2, 0, 0, 0);