共120分,其余20分到http://topic.csdn.net/u/20101115/22/a8bfe959-32c7-4068-b1a9-60160215ec94.html结分。
问题描述:有3台mysql主机(两台需要可读写),需要保证其数据内容完全一致,当其中一台发生故障时,剩余两台还需正常工作,并保证内容完全一致。我目前想到了两种方案:
第一是利用MySQL同步复制,A->B->C-A 的环状同步复制功能,但当其中某一台出现故障,剩余两台将无法同步,例如B挂掉时,向A写数据时将无法同步到C,因此无法满足要求;
第二种方案和方案一类似,A和B互主互从实现同步复制,C作为B的从机,即:A<->B->C,平时连接到A和B进行数据库操作,C作为从机从B同步数据,当A或B任一台故障时,将C升级为主机,和A进行同步,等B修复后,作为从机运行,即A<->C->B。
现在不知方案二是否可行,并且感觉可靠性不太靠谱,因此想知道有没有现成的工具可以实现方案二的过程,或者有其他的方案实现上述要求。另:
1.可以不判断MySQL是否当机,前台应用程序无法连接到MySQL时,会自动连接到从机,只要从机在连接前升级为主机即可;
2.目前只有3台主机,预算已固定,不能再增加硬件或收费软件;
问题描述:有3台mysql主机(两台需要可读写),需要保证其数据内容完全一致,当其中一台发生故障时,剩余两台还需正常工作,并保证内容完全一致。我目前想到了两种方案:
第一是利用MySQL同步复制,A->B->C-A 的环状同步复制功能,但当其中某一台出现故障,剩余两台将无法同步,例如B挂掉时,向A写数据时将无法同步到C,因此无法满足要求;
第二种方案和方案一类似,A和B互主互从实现同步复制,C作为B的从机,即:A<->B->C,平时连接到A和B进行数据库操作,C作为从机从B同步数据,当A或B任一台故障时,将C升级为主机,和A进行同步,等B修复后,作为从机运行,即A<->C->B。
现在不知方案二是否可行,并且感觉可靠性不太靠谱,因此想知道有没有现成的工具可以实现方案二的过程,或者有其他的方案实现上述要求。另:
1.可以不判断MySQL是否当机,前台应用程序无法连接到MySQL时,会自动连接到从机,只要从机在连接前升级为主机即可;
2.目前只有3台主机,预算已固定,不能再增加硬件或收费软件;
主从复制和主主复制差不多啊, 数据延迟那是肯定的,你去用用新浪微博就知道了,不过一般数据同步花费的时间不会超过3秒,集群所用的ndb Cluster 数据同步性能比较高