Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > MySQL GTID模式

MySQL中GTID 模式的使用

作者:dreams_dream

MySQL GTID模式是MySQL复制体系的一种机制,用来唯一标识每一个事务,从而让主从复制变得更可靠、更自动化、更不容易出错,下面就来详细的介绍一下如何使用,感兴趣的可以了解一下

TID(Global Transaction ID,全局事务 ID)是 MySQL 复制体系的一种机制,用来唯一标识每一个事务,从而让主从复制变得更可靠、更自动化、更不容易出错。

一句话总结:

GTID = 给每个事务一个全球唯一的身份证号,让复制自动、可追踪、可恢复。

GTID 的结构

GTID 的格式是:

source_id:transaction_id 

例如:

3E11FA47-71CA-11E1-9E33-C80AA9429562:12345 

GTID 模式解决了什么问题?

传统复制(基于 binlog 文件 + position)有几个痛点:

问题传统复制GTID
主从切换需要手动找 binlog 文件和位置自动定位,秒级切换
数据恢复容易错位、跳点自动跳过已执行事务
复制一致性依赖人工操作事务级别精确一致
故障恢复麻烦自动找位置、自动恢复

所以 GTID 的核心价值是:

让复制变得自动化、可恢复、可追踪,特别适合高可用架构(MGR、主从、ProxySQL)。

GTID 的工作原理(你会喜欢这个解释)

这意味着:

从库永远不会重复执行事务,也不会漏执行事务。

GTID 模式常见配置(MySQL 8.0.36 环境)

在 my.cnf 中:

gtid_mode=ON
enforce_gtid_consistency=ON
log_slave_updates=ON
binlog_format=ROW

你现在的 MGR 环境本身就依赖 GTID,所以你已经在使用它。

为什么 MGR 必须使用 GTID?

因为 MGR 是“事务级复制 + 共识协议”,它需要:

没有 GTID,MGR 根本无法工作。

你作为架构师应该记住的 GTID 核心价值

GTID 是现代 MySQL 高可用体系的基础。

到此这篇关于MySQL中GTID 模式的使用的文章就介绍到这了,更多相关MySQL GTID模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文