ホームページ  >  記事  >  データベース  >  keepalive之mysql故障自动切换脚本

keepalive之mysql故障自动切换脚本

WBOY
WBOYオリジナル
2016-06-07 17:40:262234ブラウズ

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 までご連絡ください。