MySQL数据库主从切换流程案例

  • 适用架构:M-M
  • 版本5.6或5.7,需重启从数据库进程,原因是当前MySQL 5.6和5.7 从库 不会同步主库“自增字段”的auto_increment的值。
  • MySQL 8.0+无需重启数据从库进程


1、重启 从库 mysql 进程

service mysqld restart

ps -ef|grep mysqld

2、重启后,进入数据库检查主从复制是否正常

show slave status\G

3、开始进行切换
① 把主库设置为只读模式

set global read_only = on; 

show variables like '%read_only%';
  • # 把my.cnf配置文件的 read_only = on; 

② 主库检查master状态信息,记录binlog文件名和位置点

show master status;
mysql> show master status;
+------------------------+----------+--------------+------------------+---------------------------------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                           |
+------------------------+----------+--------------+------------------+---------------------------------------------+
| jaspondb-binlog.000001 |   470975 |              |                  | 79120f4b-eb8f-11ec-8a69-000c2927da2f:1-1180 |
+------------------------+----------+--------------+------------------+---------------------------------------------+

③ 检查从库状态信息及主从同步位点是否一致

show slave status\G
  •  Master_Log_File: jaspondb-binlog.000001            # 主节点的二进制文件名
  •  Read_Master_Log_Pos: 470975                           # 主节点的位点
  •  Exec_Master_Log_Pos: 470975                            # 从节点SQL线程还原的位点

  • # 确认主从同步位点完全相同。

④ 把主库VIP移除(系统处同事操作)

ifconfig eth0:1 $VIP netmask 255.255.255.0 down
  • # 把/etc/autostart.sh中的ifconfig eth0:1 $VIP netmask 255.255.255.0 down注释
  • # 检查VIP是否已移除
ip a

⑤ 在从库启用VIP(系统处同事操作)

ifconfig eth0:1 $VIP netmask 255.255.255.0 up
  • # 把 ifconfig eth0:1 $VIP netmask 255.255.255.0 up 添加到/etc/autostart.sh中
  • # 检查VIP是否在从库已生效
ip a

4、把“从库”的read_only关闭

set global read_only = OFF; 

show variables like '%read_only%';

# 把my.cnf配置文件的 read_only = off ; 


5、切换完成,通知应用管理员主从切换完成,应用可以正常访问。


6、登陆数据检查“主从同步”是否正常,检查配置文件的 read_only参数与show variables like '%read_only%';是否一致。

show variables like '%read_only%';

grep "read_onl" my.cnf

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

の正在缓存99%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值