Maison  >  Article  >  base de données  >  keepalive之mysql故障自动切换脚本

keepalive之mysql故障自动切换脚本

WBOY
WBOYoriginal
2016-06-07 17:40:262188parcourir

MySQL架构为master-slave(主从),master故障自动切换到slave上。当然也可以设置为双master,但这里有个弊端:就是当主的压力很大时,从上延时很大,比如落后20

MySQL架构为master-slave(主从),master故障自动切换到slave上。当然也可以设置为双master,但这里有个弊端:就是当主的压力很大时,从上延时很大,香港虚拟主机,比如落后2000秒,此时主挂了,从接管(VIP漂移到从),用户刚才发表的文章,此时因为同步延时大,还没复制过来,于是用户又发表了一篇文章,网站空间,当原来的master修好后,因从的IO和SQL线程还在开启状态,还会继续同步刚才没有同步复制完的数据,美国空间,这时有可能把用户新发表的文章更改掉,造成用户数据丢失。

考虑到这种情况,我这里还是用的master-slave(主从)架构。

keepalive安装很简单,这里不再啰嗦。主要看下配置文件和脚本:

notify_master |    # 状态改变为MASTER后执行的脚本 notify_backup |    # 状态改变为BACKUP后执行的脚本 notify_fault |    # 状态改变为FAULT后执行的脚本 notify_stop |    # VRRP停止后后执行的脚本 notify |        # (1)任意状态改变后执行的脚本

下面解释下这4个脚本的用法:

mysql_check.sh(健康检查脚本,当发现mysql连接不上,会把keepalive进程关闭,并切换。) backup.sh(状态改变为BACKUP后执行的脚本)

有兴趣的朋友可以测试下,有问题及时交流。

本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn