为MySQL数据库集群部署MHA高可用
什么是MHA MHA(Master High Availability)是用于提高数据库集群可用性的方案,基于虚拟IP技术,可以实现在Master故障时,在30s内实现故障转移并确保数据一致性。可以理解为MHA就是作用于数据库集群的KeepAlived。 MHA工作原理 MHA的组成 MHA由MHA Manager和MHA Node组成,其中Manager相当于服务端,Node相当于客户端; Manager可以部署在Master或Slave机器上,也可以单独的部署在一台机器上;一般建议部署在一台单独的机器上,因为Manager是用于探测数据库实例是否在线和进行故障转移的核心程序,如果部署在Master上,一旦Master机器报销,整个数据库集群的不再可以;另外,如果部署在Slave机器上,那么这台机器就不能够被提升为Master。 Node需要部署在所有MySQL数据库实例的机器上。 MHA故障转移流程 * Manager会每隔一段时间(可以由用户在配置文件中指定)对主库进行一次探测; * 如果Manager检测到Master故障,会执行