mysql中基于filename pos复制和GTID复制模式的区别

本文探讨了在MySQL的复制架构中,当Master节点发生故障时,如何利用GTID(Global Transaction ID)机制使一个Slave节点晋升为新的Master节点,并分析了与传统基于文件名和位置的复制方式相比,GTID带来的便利性和高效性。

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

前言:

在mysql的复制架构中,如果master crash,如何让某一个salve竞选为new master?下面分别对基于filename pos和GTID两种复制模式下进行分析对比。


分析:

废话不多说,先上一张分析图:

• 假设现在 没有GTID
           当 Master宕机 后,一个 Slave 被 提升为New Master ,如果需要继续维持复制关系,就需要把另外两个Slave的 CHANGE MASTER 指向 New Master ; ◦ 那问题来了,原来Slave是指向 Master 的 Filename_M + Position_M 的位置,现在要指向 New Master 上新的 Filename_N + Position_N 的位置,这 两个位置是比较难对应起来的 ; ◦ 此时两个Slave要继续复制(CHANGE MASTER)会比较麻烦。
• 使用GTID
            和上面一样的场景,两个Slave需要重新指向 New Master ,由于 使用了GTID ,目前 Slave-A 获取到的日志对应的 GTID=G_A , Slave-B 获取到的日志对应的 GTID=G_B ; ◦ 此时 New Master 上是存在 G_A 和 G_B ( 通过选举出来的,获取的日志应该是最多的 ),那两个Slave就可以直接使用 G_A和G_B 这两个GTID,通过指向 New Master 接着继续复制;
 


结论:

     当master crash让某一个slave能晋升为new master,复制模式需要使用基于GTID的复制模式

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值