Mysql开启GTID后遇到错误跳过方法
处理方法如下:
一:跳过错误
这个GTID_NEXT的4,是在master 上正常执行的最大id + 1,即Executed_Gtid_Set
里面master uuid执行过的最大值 3+ 1
STOP SLAVE ; #首先停止gtid复制 SET @@SESSION.GTID_NEXT= '8f9e146f-0a18-11e7-810a-0050568833c8:4' ; 设置当前下一个执行的事务Id BEGIN; COMMIT; # 设置空事务,直接提交 SET @@session.gtid_next=automatic;; #恢复下一个事务号 START SLAVE; # 继续开启事务
二,重置master跳过错误
手工调整SLAVE已清除的GTID列表GTID_PURGED,人为通知SLAVE哪些事务已经被清除了,后续可以忽略:
STOP SLAVE; RESET MASTER; SET @@GLOBAL.GTID_PURGED = '00018601-1111-1111-1111-111111111123:1-2031'; START SLAVE; #在slave 运行时刻 reset master 命令不被支持 #在GTID环境中,RESET MASTER会清除掉系统变量gtid_purged和gtid_executed的值
上面 gtid_next 的值 00018601-1111-1111-1111-111111111123:2030是个会话级变量。
- uuid是
Retrieved_Gtid_Set
的uuid,一般是Master_UUID
的值,但如果是级联复制(master -> slavel1 -> slave2),那么要找到出错事务最原先在哪执行的 - trx_id(或叫position)是 master 上正常执行的最大id + 1,即
Executed_Gtid_Set
里面master uuid执行过的最大值 2030+ 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2015-05-22 SQL Server 复制(Replication) ——事务复制搭建