Heim  >  Artikel  >  Datenbank  >  keepalive之mysql故障自动切换脚本

keepalive之mysql故障自动切换脚本

WBOY
WBOYOriginal
2016-06-07 17:40:262234Durchsuche

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后执行的脚本)

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn