记录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;
相关推荐
@insist1231 小时前
数据库工程师核心 TCP/IP 协议栈知识:从软考考点到运维实战
运维·数据库·网络协议·tcp/ip·软考·数据库系统工程师·软件水平考试
!chen1 小时前
Oracle数据库物理备份工具支持本机+异机
数据库
前进的李工2 小时前
数据库视图:数据安全与权限管理利器
开发语言·数据库·mysql·navicat
what丶k2 小时前
深度解析 Canal 数据同步:原理、实操与生产级最佳实践
数据库·后端
白鲸开源2 小时前
(三)ODS/明细层落地设计要点:把数据接入层打造成“稳定可运维”的基础设施
大数据·数据结构·数据库
程序员这么可爱2 小时前
MySQL分页踩坑实录:LIMIT分页出现重复数据,同一主键ID跨页重复完美解决
数据库·mysql·limit分页重复·sql分页优化·数据库踩坑·主键排序规范
Elastic 中国社区官方博客2 小时前
需要知道某个同义词是否实际匹配了你的 Elasticsearch 查询吗?
大数据·数据库·elasticsearch·搜索引擎·全文检索
熊文豪3 小时前
MySQL迁移的“隐形坑”与电科金仓的“零改造”破局之道
数据库·mysql
萝卜白菜。3 小时前
ClassCastException: oracle.sql.BLOB cannot be cast to oracle.sql.BLOB问题
数据库·oracle