记录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;
相关推荐
数据安全技术观察22 分钟前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠1 小时前
Redis的自我学习
数据库·redis·学习
2601_965798471 小时前
Salient Theme Setup Guide for Fast Creative WordPress Sites
数据库·web3·php·wordpress
@Mike@2 小时前
09-数据库学习笔记(数据库索引与过滤器)
数据库·笔记
程序员夏洛3 小时前
MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
数据库·mysql
Wang's Blog3 小时前
PostgreSQL笔记34:索引优化策略全景解析——从B-tree到HOT的核心原理与实践
数据库·笔记·postgresql
l1258654 小时前
# RAG向量数据库优化实战:HNSW索引调参与生产级性能设计
数据库·python·mysql·langchain
梦Arrebol4 小时前
Mysql内容及相关实验
数据库·mysql
OceanWaves19934 小时前
mysql 8.0.32 磁盘爆满,清理从库日志
数据库·mysql
凤山老林4 小时前
数据库读写分离与动态路由实战:Spring Boot + ShardingSphere-JDBC 生产配置
数据库·spring boot·后端·分库分表·sharding-jdbc