使用keepalived实现对mysql主从复制的主备自动切换.doc
还剩
4页未读,
继续阅读
下载文档到电脑,马上远离加班熬夜!
亲,喜欢就下载吧,价低环保!
内容要点:
由 keepalived的配置文件可知, mysql关闭的话,将会执行keepalived_check_mysql.sh这一脚本。这个脚本在执行的时候,会判断 mysql的状态,如果 mysql关闭了,将会关闭 keepalived进程,将 mysqld的服务切换到从数据库。而后主数据修复,需手动切换到主数据库,再重启 keepalived服务。Keepalived 和 nagios配合使用才能提供更好的服务。 #mysql is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0MYSQL_OK=1function check_mysql_helth (){$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -p${MYSQL_PASSWORD} -e "show status;" >/dev/null 2>&1if [ $? = 0 ] ;thenMYSQL_OK=1elseMYSQL_OK=0fireturn $MYSQL_OK}while [ $CHECK_TIME -ne 0 ]dolet "CHECK_TIME -= 1"check_mysql_helthif [ $MYSQL_OK = 1 ] ; thenCHECK_TIME=0exit 0fiif [ $MYSQL_OK -eq 0 ] && [ $CHECK_TIME -eq 0 ]thenpkill keepalivedexit 1fisleep 1DoneChmod 755 /root/keepalived_check_mysql.sh4、两台服务器同时启动 mysql和 keepalivedService keepalived restartService mysqld restart5、功能验证#Ip a :通过查看虚拟 IP,验证 keepalived服务是否启动#tcpdump vrrp :查看 vrrp通读记录,进行测试 smtp_server smtp.xishiqu.cnrouter_id MySQL-ha}vrrp_script check_run {script "/root/keepalived_check_mysql.sh"interval 5}vrrp_sync_group VG1 {group {VI_1}}vrrp_instance VI_1 {state MASTERinterface eth1 #本地网口 按实际情况配置virtual_router_id 88priority 99advert_int 1nopreemptauthentication {auth_type PASSauth_pass 1111}track_script {check_run}virtual_ipaddress {192.168.1.197}}3、mysql 状态检测脚本在目录 root下创建脚本 keepalived_check_mysql.sh:vim /root/keepalived_check_mysql.sh#!/bin/bashMYSQL=/usr/local/mysql/bin/mysqlMYSQL_HOST=localhostMYSQL_USER=rootMYSQL_PASSWORD=123456CHECK_TIME=3 router_id MySQL-ha}vrrp_script check_run { #声明 vrrp_script 的函数 check_runscript "/root/keepalived_check_mysql.sh" #监
发表评论
暂无评论,赶快抢占沙发吧。