mysql一主多从的主备切换

本文详细介绍了数据库主备切换的过程及难点,包括位点切换的原理与限制,以及如何利用GTID进行更为精确的主备切换。GTID不仅简化了切换过程,还解决了在线DDL操作带来的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图,原本一个一主多从的服务是这样子的

主备切换后的结果

基于位点的主备切换

把节点B设置成节点A的从库的时候,需要执行一条change master命令,这条命令有以下6个参数:

  • MASTER_HOSTMASTER_PORTMASTER_USERMASTER_PASSWORD四个参数,分别代表了主库AIP、端口、用户名和密码。
  • 最后两个参数MASTER_LOG_FILEMASTER_LOG_POS表示,要从主库的master_log_name文件的master_log_pos这个位置的日志继续同步。而这个位置就是我们所说的同步位点,也就是主库对应的文件名和日志偏移量。

 

原来节点BA的从库,本地记录的也是A的位点。但是相同的日志,A的位点和A的位点是不同的。因此,从库B要切换的时候,就需要先经过找同步位点这个逻辑。这个点很难精确到,只能取一个大概的位置。考虑到切换过程中不能丢数据,所以我们找位点的时候,总是要找一个稍微往前”的,然后再通过判断跳过那些在从库B上已经执行过的事务。

 

一种取同步位点的方法是这样的:

1. 等待新主库A把中转日志(relay log)全部同步完成;

2. A上执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值