记录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;
相关推荐
程序员清风1 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
天衍四九-1 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙1 小时前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工1 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿1 小时前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏3 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室4 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
yanwumuxi6 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m6 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库
SelectDB6 小时前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单(实战笔记)
大数据·数据库·数据分析