mysql双主复制的缺点和优点:pos复制和GTID复制模式的区别
mysql双主复制的缺点和优点:pos复制和GTID复制模式的区别当master crash让某一个slave能晋升为new master 复制模式需要使用基于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
前言:在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的复制模式