对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

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

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