Rumah  >  Artikel  >  pangkalan data  >  keepalive之mysql故障自动切换脚本

keepalive之mysql故障自动切换脚本

WBOY
WBOYasal
2016-06-07 17:40:262188semak imbas

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

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn