基于GTID的主从复制
type
status
date
slug
summary
tags
category
icon
password
1️⃣ 环境准备
- 假设主库 IP:
192.168.140.10
- 从库 IP:
192.168.140.11
- 复制账号:
repluser
- 密码:
WWW.1.com
2️⃣ 主库配置
2.1 编辑 MySQL 配置
在主库
/etc/my.cnf 添加:gtid_mode=ON:启用 GTID 功能
enforce_gtid_consistency=TRUE:强制 GTID 事务一致性
server-id:每台服务器唯一
log_bin和binlog_format:开启二进制日志,使用 ROW 模式
重启 MySQL 服务:
2.2 创建复制账号
如果允许所有从库 IP 连接,可以改成
% 通配符:2.3 查看主库状态
记下:
- File:
master.000002
- Position:
1177
- GTID 集合:用于 GTID 自动定位(可选)
3️⃣ 从库配置
3.1 清理现有数据
⚠️ 注意:此操作会删除从库现有数据,谨慎执行
3.2 配置 GTID
在从库
/etc/my.cnf 添加:重启 MySQL:
4️⃣ 从库连接主库
4.1 配置主库信息
MASTER_AUTO_POSITION=1:启用 GTID 自动定位,无需手动指定 binlog 文件和位置
4.2 启动复制
4.3 检查复制状态
关键字段说明:
Slave_IO_Running: Yes→ 从库 I/O 线程正常
Slave_SQL_Running: Yes→ 从库 SQL 线程正常
Seconds_Behind_Master: 0→ 与主库同步完成
Retrieved_Gtid_Set&Executed_Gtid_Set→ 当前 GTID 集合
Auto_Position: 1→ 使用 GTID 自动定位
5️⃣ 完成
此时,基于 GTID 的主从复制已建立成功,从库可以自动追赶主库的新事务。
💡 小提示
- GTID 模式下,切换主从更方便,只需设置
MASTER_AUTO_POSITION=1。
- 如果出现复制报错,可以用:
临时跳过问题事务。
3. 主从账号最好单独创建,避免使用业务账号。
Loading...