淘宝物流MySQL slave复制数据丢失问题的个人整理

本文梳理了淘宝物流MySQL slave复制数据丢失问题,通过检查复制状态、确认binlog记录及从库一致性,分析可能导致数据丢失的原因。并提供了相关资源链接进行深入理解。
摘要由CSDN通过智能技术生成

         对于这几天微博上较火的关于淘宝物流MySQL slave复制数据丢失问题,我自己也比较关注,然后根据沃趣科技的一篇分析文章算是大概明白了其中的明细,现在再来根据我自己的理解理一下思路,顺便加深自己的理解。

        简单的说这个问题的来由是这样的:主库的一些DML语句在从库上没执行。那么遇到这样问题,我们一般都是从这几个方面找问题,

  • show slave status查看复制状态,SQL_THREAD,IO_THREAD是否正常/延迟多少
  • 上面没有问题,再看事件在主库是否记录了binlog,是否传到了从库(从relay log中查看)
  • 上面都没问题,那是否从库在这个事件的数据丢失之前就已经是M/S数据不一致了,导致DML没有有效的记录进行操作
        淘宝的这个案例就比较有意思了,上面的情况都不符合。后来他们定位到问题是由于binlog(RBR)里的table_map_event事件中的table_id在内部执行过程中传递值溢出导致的。这个table_map_event和table_id是怎么回事呢?先简单看个RBL的binlog event:

#121031 16:25:45 server id 1  end_log_pos 3466 Table_map: `test`.`tf` mapped to nu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值