前置知识: MySQL

GTID

00:00
1 min Advanced 2026/6/14

MySQL全局事务标识符GTID:原理、配置、基于GTID的复制与故障切换

1. GTID 概述

全局事务标识符(Global Transaction Identifier,GTID)为每个事务分配唯一标识简化复制管理

1.1 GTID 格式

3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5

2. 配置

[mysqld]
gtid-mode = ON
enforce-gtid-consistency = ON
log-bin = mysql-bin
binlog-format = ROW
server-id = 1

3. 基于GTID的复制

-- 从库配置(无需指定 binlog 位置)
CHANGE MASTER TO
    MASTER_HOST = 'master-ip',
    MASTER_USER = 'repl',
    MASTER_PASSWORD = 'password',
    MASTER_AUTO_POSITION = 1;  -- 使用 GTID 自动定位

START SLAVE;

4. GTID 运维

-- 查看已执行的 GTID
SHOW MASTER STATUS;
-- Executed_Gtid_Set: 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-100

-- 查看从库已执行的 GTID
SHOW SLAVE STATUS\G
-- Retrieved_Gtid_Set: ...
-- Executed_Gtid_Set: ...

-- 跳过有问题的 GTID 事务
SET GTID_NEXT = '3E11FA47-71CA-11E1-9E33-C80AA9429562:101';
BEGIN;
COMMIT;
SET GTID_NEXT = AUTOMATIC;
START SLAVE;

5. GTID 优势

  • 无需手动定 binlog 位置
  • 故障切换简单
  • 验证主从数据一致性
  • 支持复制

知识检测

学习进度

-- 已学文档
--% 知识覆盖率

学习推荐

专注模式