记录MySQL 主从架构切换双主(互为主从)操作步骤

本文章记录的是将 MySQL 原有单主单从(Master-Slave)架构改造为双主(Master-Master,互为主从)架构的操作步骤。

1. 配置主从节点参数

vi my.cnf

主节点添加参数

复制代码
# 开启gtid,不要gtid的可以不配
gtid_mode = ON
enforce_gtid_consistency = 1
# 设置server-id,两节点必须不一样
server-id=1
# 设置自增ID初始值为2,每次自增量为2。即都是偶数2,4,6,8
auto_increment_offset=1
auto_increment_increment=2

备节点添加参数

bash 复制代码
# 开启gtid,不要gtid的可以不配试试
gtid_mode = ON
enforce_gtid_consistency = 1

server-id=2
auto_increment_offset=2
auto_increment_increment=2
# 只读改为0
read_only=0

重启两节点

2. 配置同步

创建同步账号(已为主从模式的可忽略,直接使用)

bash 复制代码
# 在节点A上创建账号repl_user,允许从任意IP访问,密码为***
CREATE USER 'slave'@'%' IDENTIFIED BY '***';

# 分配权限
GRANT ALL ON *.* TO 'slave'@'192.168.0.193' identified by '***';
GRANT ALL ON *.* TO 'slave'@'192.168.0.192' identified by '***';
flush privileges;

3. 确认 master 信息

show master status;

配置备库的 master(已为主从模式的可忽略)

bash 复制代码
# 停止备库上的slave
stop slave;  
bash 复制代码
# MASTER_LOG_FILE和MASTER_LOG_POS,是在3中查主库的master信息
change master to master_host='192.168.0.192',
master_user='slave',
master_password='***',
master_port=3306,
master_log_file='master-bin.000007',
master_log_pos=154;

开启同步

bash 复制代码
START SLAVE;

配置主库的 master

sql 复制代码
change master to master_host='192.168.0.193',
master_user='slave'
master_password='***',
master_port=3306,
master_log_file='binlog.000009',
master_log_pos=154;

开启同步

sql 复制代码
START SLAVE;
相关推荐
stark张宇3 分钟前
库存扣减的“锁”事:悲观锁、乐观锁、分布式锁
redis·分布式·mysql
底层玩家老张7 分钟前
45:1压缩、19.1倍查询:1956亿行时序数据复盘
数据库·经验分享·时序数据库·存储压缩·写入优化
qq_白羊座11 分钟前
口头说的 JSON 和 MySQL 里的 JSON
数据库·mysql·json
Shaoshing29 分钟前
多表查询
数据库
不爱学英文的码字机器33 分钟前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
Lynne30940 分钟前
TSN 技术解析:如何应对工业网络中的延迟、抖动与丢包?
数据库·确定性通信·tsn时间敏感网络
2601_9570848440 分钟前
2026年工贸一体服装供应链SCM系统丨多品牌多工厂管控的架构设计:主数据分层、考核口径三要素与共享隔离模型
数据库·scm·服装供应链系统·服装scm·服装供应链
Aloudata44 分钟前
语义资产运营指南:如何管理指标、维度、口径、Owner、血缘和使用记录
数据库·人工智能·数据分析·数据资产·dataagent·语义层
PaperData1 小时前
2006-2024年地级市能源消费强度数据
数据库·能源
龙亘川1 小时前
城市公共安全治理如何从“人海战术“走向“数据驱动“?
大数据·数据库·人工智能·安全·microsoft·智慧城市·数据可视化