前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 主从常遇问题

Mysql 主从常遇问题

作者头像
郑小超.
发布2022-12-07 13:35:02
3570
发布2022-12-07 13:35:02
举报
文章被收录于专栏:GreenLeaves

1、1032错误

此问题很常见,大多是由于主从延迟,例如主中的新增和删除操作连续同步到从库,但是从库的删除先进行了,那么此时就会报1032错误.常见的错误消息内容(来自https://www.cnblogs.com/langdashu/p/5920436.html)如下:

代码语言:javascript
复制
Slave_SQL_Running: NOLast_SQL_Errno: 1032
Last_SQL_Error: Worker 3 failed executing transaction '' at master log mysql-bin.000003, end_log_pos 440267874;
          Could not execute Delete_rows event on table db_test.tbuservcbgolog; Can't find record in 'tbuservcbgolog', Error_code: 1032;
          handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000003, end_log_pos 440267874

windows下的一种解决方式如下:

首先定位到mysqlbinlog.exe的运行目录,接着打开cmd执行以下语句

代码语言:javascript
复制
mysqlbinlog.exe --base64-output=decode-rows -vv "binlog文件的全路径" --stop-position=111(1032输出的错误消息中的end_log_pos) >11.txt(解析后的可读binlog文件生成路径)

11.txt文件生成后,打开git bash执行以下命令

代码语言:javascript
复制
grep -i -50 "1032输出的错误消息中的end_log_pos" 11.txt

查找具体的错误执行语句,结果大致如下:

代码语言:javascript
复制
### DELETE FROM `库`.`表`
### WHERE
### @1='812d198d-f1f5-4b12-9542-35b23aed0040' /* VARSTRING(144) meta=144 nullable=0 is_null=0 */
### @2='ae67acb3-93b2-4c7b-830d-9dd38c962ba1' /* VARSTRING(144) meta=144 nullable=1 is_null=0 */
### @3='c39ff2f5-ce7d-44c5-ad79-3d0c88fb82c7' /* VARSTRING(144) meta=144 nullable=1 is_null=0 */

接着根据delete语句反向insert数据,重启slave.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档