暂无图片
Mysql主从同步异常的处理(删除失败)
我来答
分享
佳佳
2021-07-14
Mysql主从同步异常的处理(删除失败)

主从同步报错,由于主库delete的记录在从库上找不到(从库已经删除掉了),但是如果我的记录很多(可能有几万行),如何批量的解决(或者跳过)这个报错?我的环境是开启了GTID的。Auto_Position=1。

如果手动跳过gtid的话(置为空事务),难道要编辑几万行的语句?有没有更快的方法?

报错:
Worker 1 failed executing transaction ‘42c772c3-f5c0-11e7-97c2-d0946614467e:206602827904’ at master log mysql-bin.0320, end_log_pos 160608025; Could not execute Delete_rows event on table app.data_strange; Can’t find record in ‘data_strange’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log mysql-bin.032, end_log_pos 160608025

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
lps
pt-slave-restart 试下
暂无图片 评论
暂无图片 有用 1
打赏 0
佳佳
升级问题到: 潜在风险
暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

跳过错误的数据即可:
stop slave ;
set global sql_slave_skip_counter=1;
start slave;

如果备库有很多值都不存在了,那么建议先把不存在的值在备库上插入后,再开启同步。

暂无图片 评论
暂无图片 有用 0
打赏 0
佳佳

https://blog.csdn.net/wll_1017/article/details/70332107

暂无图片 评论
暂无图片 有用 0
打赏 0
薛晓刚

GTID的跳过是这样的。
stop slave;
SET gtid_next = ‘这里填写你看到的gtid:冒号后面这个值加1’;
BEGIN;COMMIT;
SET gtid_next = ‘AUTOMATIC’;
START SLAVE;
show slave status\G;

但是不建议跳过。看你数据也不多,重建吧。
另外以后从库要设置成不可写。

或者你用mgr。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql导入文件大,老是导入失败,需要从哪方面入手处理?
回答 3
先看看日志报的什么错呀
mysql什么时候应该重建数据库索引?
回答 4
已采纳
无需“重建”索引。它们始终保持最新状态。也许他指的是重建table。根据您的使用模式和架构,您可以在InnoDB中获得碎片页面,我认为在MyISAM中也是如此。重建表可以通过消除磁盘上的数据碎片来提高
mysql是否可以dump出索引结构?
回答 1
在MySQL中可以通过多种方式获取索引结构信息:一、使用SHOWCREATETABLE语句用法可以针对特定的表执行SHOWCREATETABLEtablename;,它会显示创建该表的完整SQL语句,
MySQL主密钥的更换命令?
回答 1
已采纳
InnoDB使用两层加密密钥体系结构,由主密钥和表空间密钥组成。主密钥保存在钥匙环(keyring)中,表空间密钥被主密钥加密后存储在表空间头部。表空间密钥用于加密和解密表空间里的数据。为了提高安全性
mysql8.0.19 root用户连续输错密码被锁定, 怎么解决?
回答 1
已采纳
可以使用skipgranttable参数进行修改密码,方法如下:1、在配置文件my.cnf中添加一行skipgranttable,重启服务2、可以不使用密码进行登录,然后使用update命令更改密码3
mysql做主从同步时,能不能不同步主库的事件?
回答 1
mysql主从同步是基于binlog同步的。event操作会记录binlog。event有做更改就会写入binlog。目前mysql没有这机制。mysqlsqllogbin的session级别临时关闭
MySQL支持的用户自定义完整性约束不包括
回答 4
已采纳
视图视图视图视图视图视图视图视图视图视图
MySQL 联合查询是怎么使用索引,select * from a left join b on ... where b.time between .....,查询条件在b,b上有相应索引,a是主表,数据量大,查询计划显示a全表扫描了,怎么优化?
回答 4
把执行计划和表结构贴出来看下,另外可以尝试用STRAIGHTJOIN指定驱动表试试
在MySQL 8.0.20版本中,下列关于SELECT子句中OUTFILE的位置正确的是?
回答 2
ABC
MySQL分组排序后取每组的第一条记录,除了用row number还有其他办法吗?
回答 1
已采纳
窗口函数是最好理解,最佳的。可以用伪列来实现。