记录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;
相关推荐
海南java第二人1 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧2 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱2 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp3 小时前
NoSql数据库设计心得
数据库·nosql
bjzhang754 小时前
CentOS下安装MySQL详解
linux·mysql·centos
睡不醒男孩0308235 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love5 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob6 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q6 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发6 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql