Debezium系列之:深入理解GTID全局事务标识,并记录一次数据库重启造成数据丢失的原因和解决方案

332 篇文章 306 订阅 ¥99.90 ¥299.90
本文探讨了数据库重启导致的数据丢失问题,深入解析了GTID(全局事务标识),阐述了其在主从复制中的作用,以及如何通过GTID确保数据一致性。在遇到数据库重启后,通过启用GTID并按事务顺序解析,防止数据遗漏。同时,文章提到了使用GTID的注意事项,强调记录和应用GTID位置的重要性。
摘要由CSDN通过智能技术生成

Debezium系列之:深入理解GTID,并记录一次数据库重启造成数据丢失的原因和解决方案

一、背景

  • hive数据库的表与源头业务数据库的数据不一致,经过检查发现源头数据库发生了重启,造成了binlog文件名称的变化,从而下游在解析debezium数据的时候出现了遗漏
  • 针对这个情况,考虑应用gtid确保数据的一致性和可靠性

二、深入理解什么是GTID

  • GTID (Global Transaction Identifier) 是 MySQL 中用于唯一标识事务的全局标识符。每个事务都被分配一个唯一的 GTID,用于在主从复制中进行事务的追踪和同步。
  • 在给定的 GTID “eb1e5031-60c4-11ed-9363-b8599f2795e8:4682321465” 中,可以将它分为两部分:UUID 和数字部分。UUID 部分 “eb1e5031-60c4-11ed-9363-b8599f2795e8” 是一个唯一的标识符,用于标识产生 GTID 的服务器。每个服务器都会有自己的 UUID。数字部分 “4682321465” 是该 GTID 在特定服务器上的序列号,表示该事务是在该服务器上的第几个事务。
  • GTID 可以用于确保主从数据库之间的数据一致性和可靠性。通过将 GTID 应用到主数据库的事务日志中,从数据库可以根据 GTID 来追踪和复制主数据库上的事务。当从数据库发生故障或与主数据库断开连接时,可以使用 GTID 来确定需要从主数据库的哪个位置恢复数据同步。
  • 总结来说,MySQL GTID 是用于唯一标识事务的全局标识符。它由 UUID 和数字部分组成,其中 UUID 标识产生 GTID 的服务器,数字部分表示事务的序列号。GTID 在主从复制中起到了关键的作用,确保数据的一致性和可靠性。

三、深入理解g

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值