MHA(Master HighAvailability)是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在10~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。
当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。
1)把宕机的master二进制日志保存下来。 2)找到binlog位置点最新的slave。 3)在binlog位置点最新的slave上用relay log(差异日志)修复其它slave。 4)将宕机的master上保存下来的二进制日志恢复到含有最新位置点的slave上。 5)将含有最新位置点binlog所在的slave提升为master。 6)将其它slave重新指向新提升的master,并开启主从复制。