executed_gtid_set 与 purged_gtid_set

executed_gtid_set 和 purged_gtid_set 是 MySQL 复制中与 GTID(全局事务标识符)相关的两个重要概念:

定义:

  • executed_gtid_set:已执行的 GTID 集合,包含所有在该服务器上执行过的事务的 GTID。
  • purged_gtid_set:已清除的 GTID 集合,包含那些已经从 binlog 中物理删除的事务的 GTID。

包含关系:

  • purged_gtid_set 是 executed_gtid_set 的子集。
  • 所有在 purged_gtid_set 中的 GTID 必然也在 executed_gtid_set 中。

更新机制:

  • executed_gtid_set 在每次事务执行后更新。
  • purged_gtid_set 在 binlog 被清理(purge)时更新。

用途:

  • executed_gtid_set 用于跟踪服务器已执行的所有事务。
  • purged_gtid_set 用于标识哪些事务的 binlog 已不再可用。

复制影响:

  • 从库无法复制 purged_gtid_set 中的事务,因为这些事务的 binlog 已被删除。
  • 从库可以复制 executed_gtid_set 中但不在 purged_gtid_set 中的事务。

查看方法:

SHOW GLOBAL VARIABLES LIKE 'gtid_executed';
SHOW GLOBAL VARIABLES LIKE 'gtid_purged';

关系演变: 随着时间推移,purged_gtid_set 会逐渐增大,逐渐接近 executed_gtid_set 的早期部分。

理解这两个概念的关系对于管理 MySQL 复制拓扑和诊断复制问题非常重要。特别是在设置新的复制关系或处理复制延迟时,需要考虑这两个 GTID 集合的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值