>  기사  >  데이터 베이스  >  keepalive之mysql故障自动切换脚本

keepalive之mysql故障自动切换脚本

WBOY
WBOY원래의
2016-06-07 17:40:262187검색

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.