MySql 9 in Docker 主从切换

继上一篇《MySql 9 in Docker 利用克隆插件搭建主从》我们说了主从复制后, 那么我们接下来说说如何手动的进行主从切换。

动手~

1. 原主库设置

  1. 切断应用对主库的访问

  2. 主库设置为只读状态

    set global read_only=ON;
    set global super_read_only=ON;

  3. 主库执行 SELECT @@gtid_executed;查看GTID;

2. 原从库设置

  1. 查看备库复制进程状态,确认Slave_IO_Running,Slave_SQL_Running状态为YES,Seconds_Behind_Master为0, 则代表两边数据一致。

    show slave status

  2. 执行 SELECT GTID_SUBSET('<主库查询的GTID>', @@gtid_executed); 对比主从数据是否一致,如果输出结果为1,则表示一致;

  3. 停止复制进程,清空主从同步信息

    stop REPLICA;
    reset REPLICA all;

  4. 开启读写

    set global read_only=off;
    set global super_read_only=off;

  5. 根据实际情况设置数据库参数是否与原主库一致

3. 设置原主库为从库

  1. 原主库上开启主从复制
sql 复制代码
CHANGE REPLICATION SOURCE TO 
	SOURCE_HOST='172.17.0.7', 
	SOURCE_PORT = 3306, 
	SOURCE_USER='repl', 
	SOURCE_PASSWORD='123456', 
	GET_SOURCE_PUBLIC_KEY=1, 
	SOURCE_AUTO_POSITION=1;

start REPLICA;

SHOW REPLICA STATUS\G;
  1. 接下来进行一下验证步骤
  2. 完成~
相关推荐
小旭952720 分钟前
MySQL 主从复制、MyCat 读写分离与分库分表实战
java·数据库·sql·mysql·database
流星白龙42 分钟前
【MySQL高阶】16.行结构
android·mysql·adb
javachen__1 小时前
mysql-1015 - Can‘t lock file (errno: 165 - Table is read only)
mysql
逍遥德1 小时前
PostgreSQL --- 自增主键【序列】的避坑指南
数据库·后端·sql·mysql·postgresql·sqlserver
土狗TuGou1 小时前
SQL进阶笔记 · 第1篇:存储引擎
java·数据库·笔记·后端·sql·mysql
Database_Cool_1 小时前
MySQL 数据分析慢怎么办?迁移到阿里云 AnalyticDB MySQL 实现百倍加速
数据仓库·mysql·阿里云·数据分析
青春之我_XP2 小时前
深度解析 SQL 经典面试题:如何优雅地计算连续登录天数?
数据库·sql·mysql
承渊政道2 小时前
【MySQL数据库学习】MySQL表的约束(上)
数据库·c++·学习·mysql·bash·数据库架构·数据库系统
梓䈑2 小时前
【MySQL】一文梳理MySQL 8.0常用数据类型:含存储范围、对比差异与实操案例
数据库·mysql
j7~2 小时前
【MYSQL】用户管理--详解
数据库·mysql·用户管理·数据库权限·mysql修改用户密码