mysql主从切换


需求: 停止 db03机器上的主库,将 db05 从节点作为主库,将其他从库的主库指向 db05

前置准备,打通业务机器和 db05 的防火墙,保证db03 db05 mysql实例上的账户信息一致

1、让业务停止写入 db03 上的mysql主库

2、登录mysql db03 查看位点

show master status;

+------------------+-----------+--------------+------------------+-------------------------------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                         |
+------------------+-----------+--------------+------------------+-------------------------------------------+
| mysql_bin.003295 | 108167999 |              |                  | 23edd83c-988f-11ee-a990-9c52f8ecc7c5:1-10 |
+------------------+-----------+--------------+------------------+-------------------------------------------+

如果5-10分钟一直不变就是没有写入;

show processlist;
查看是否还有服务连接;

3、检查没有问题,将 db03 老主库设置为只读库。

## 在 db03 上有个mysql 的主库登录执行 设置为只读:
set global super_read_only = on;
set global read_only = on;
  1. 在新主库上 db05 执行:
SHOW VARIABLES LIKE '%read%';
## 如果 super_read_only  read_only 为 OFF 因为业务需要写数据到主库
set global super_read_only = on;
set global read_only = on;

show slave status\G;

stop slave;
reset slave all;

## 记录下 File Position
show master status;
  1. 把服务的配置改到新的主库 db05 上。

  2. 将其他从库指向新主库

stop slave;
reset slave all;

set global super_read_only = on;
set global read_only = on;

CHANGE MASTER TO
    MASTER_HOST='db05地址',
    MASTER_USER='user',
    MASTER_PASSWORD='passwd',
    MASTER_LOG_FILE='db05 file',
    MASTER_LOG_POS=db05 Position;

start slave;
posted @   紫系流月  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示