对MySQL数据库复制中断的处理

前言

在复制中,有时会因为复制报错,而中断复制。通常是因为一个SQL语句在主库执行时是正常的,但同步到从库时,因为各种原因,找不到对应的数据,造成执行SQL失败,报出复制错误。下面主要写了几个常见的错误。

复制中断的情况和处理

复制中断的情况:

  • 1062错误:在写入数据使,从库已存在了。多出现自增长ID已存在。
  • 1032错误:从库出现少数据,update、delete时,找不到相应的记录。
  • 其他:DDL操作时报错

对这些情况的处理:

  • 遇到该问题,要想到要怎样满足复制,而不是跳过该事务;不建议跳过错误,遇到错误应该修正过来,再连接主库复制,否则从库的数据会越来越不一致!
  • 手工修复操作有些慢,可以针对1062和1032错误,写一个自动化监控改正脚本。
  • 注意:若经常数据不一致,选择业务低峰期,检验一次数据(pt-table-checksum),查看是否数据一致,若检查出太多的数据不一致,该从库就不可再用了,再创建一个从库!

常见的复制错误

【错误码-1062】 

 

处理操作:

  • 处理这种情况,需要和业务协商,或在公司内形成一个规定,遇到这种情况要怎样做(在从库将这条重复数据删除还是补充到主库)。
  • 通常,在从库删除该条数据,让复制继续进行。
  • 使用pt-slave-restart来修复问题,它会会跳过错误,建议先处理错误,才可以保证数据的一致性

具体操作:

  • 定位到该事物
    • 传统复制:Exec_Master_Log_Pos 与 last_error中的end_log_pos 中间的事务
    • GTID复制:executed_gtid_set : xxxxx:1-5 ,即第6个事务报错了。
    • master:mysqlbinlog -vv –base64-output=decode-rows –start-position ……
  • 在slave上删除该条数据,然后连接复制
    • > set sql_log_bin=0; # 先禁止当前会话的操作记录写到binlog
    • > delete from xn_db.t_order_produce where id=35197;
    • > set sql_log_bin=1; # 恢复正常
    • > start slave sql_thread; # 启动SQL线程

【错误码-1032】

1032错误 分为: update错误 和 delete错误。

 

update 处理操作:

  • 在主库上获取出来主键的值(不需要具体恢复出来),只要满足SQL执行成功即可。

update 具体操作:

  • 定位到该事物
    • 传统复制:Exec_Master_Log_Pos 与 last_error中的end_log_pos 中间的事务
    • GTID复制:executed_gtid_set : xxxxx:1-5 ,即第6个事务报错了。
    • master:mysqlbinlog -vv –base64-output=decode-rows –start-position ……
  • 将没有的数据创建出来,只符合错误事务执行成功即可
    • > set sql_log_bin=0;
    • > insert into xn_db.t_mes(id) values(35592);
    • > set sql_log_bin=1;
    • > start slave sql_thread;

delete 处理操作:

  • 由于从库没有该数据,致使删除失败,可以跳过该错误,因为跳过该删除事务相当于不执行该delete语句,和在从库上没执行之前是一样的,那些数据都不会存在于从库中。

delete 具体操作:

  • 传统复制:
    • > stop slave;
    • > set global sql_slave_skip_counter=1; # 跳过一个事务
    • > start slave;
  • GTID复制:
    • > stop slave;
    • > set gtid_net=’xxxxx:6′ # 跳过报错事务6
    • > begin;commit; # 执行一个空事务,即GTID为6的事务
    • > set gtid_next=’AUTOMATIC’;
    • > start salve; 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/236614.html<

(0)
运维的头像运维
上一篇2025-04-22 02:31
下一篇 2025-04-22 02:33

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注