【20181204】 MySQL 双主复制是如何避免回环复制的
问题原因 想要了解这个问题的原因在于有一次面试的时候,面试官问我一个问题,就是MySQL的双主复制的时候是如何避免回环复制这个问题的,说老实话在基于GTID复制的时候我还是比较了解的,因为GTID复制是MySQL本身是不会执行已经执行过的GTID事务,即使MySQL本身并不会执行已经执行过的GTID事务,但是还是会形成一个回环复制。那么MySQL到底是如何解决回环复制的呢? 猜想 在我们搭建主从的时候我们可以清楚的知道,要想成功的搭建主从,那么主从的server_id必须不能一模一样的,所以猜想可能是因为server_id的原因。 在MySQL 5.5以及一切,我们搭建一主多从的时候,假如slave使用了相同的server_id就会发现在master和slave上面发现slave会经常的断开重连,这个是因为slave在注册的时候会去比对server_id,假如server_id存在的话则会有一个删除操作,但是MySQL 5.6的版本以后引入了uuid,它会优先去比对uuid,假如不存在的话则会去比对server_id。所以在MySQL5.6以及以后是因为uuid的原因呢。 实验 A. 搭建双主。非gtid模式(具体过程不在描述) master 1 ........ ........ Connect_Retry: 60 Master_Log_File: mysql-bin