加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

keepalived+MySQL主主高可以使用

发布时间:2023-07-24 14:44:24 所属栏目:MySql教程 来源:
导读:keepalived+MySQL主主高可用

一、环境介绍:

10.1.1.174:23316 M1

10.1.1.237:23316 M2

二、配置双主:略。

三、keepalive安装

[root@master1 ~]# cd /usr/local/src/

[root@master1 sr
keepalived+MySQL主主高可用
 
一、环境介绍:
 
10.1.1.174:23316 M1
 
10.1.1.237:23316 M2
 
二、配置双主:略。
 
三、keepalive安装
 
[root@master1 ~]# cd /usr/local/src/
 
[root@master1 src]# wget https://www.keepalived.org/software/keepalived-2.0.17.tar.gz
 
[root@master1 src]# tar -xf keepalived-2.0.17.tar.gz
 
[root@master1 src]# cd keepalived-2.0.17
 
[root@master1 keepalived-2.0.17]# yum install openssl* libnl‐dev* gcc-c++
 
[root@master1 keepalived-2.0.17]# ./configure --prefix=/usr/local/keepalived
 
[root@master1 keepalived-2.0.17]# make
 
[root@master1 keepalived-2.0.17]# make install
 
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
 
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
 
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
 
echo "/etc/init.d/keepalived start" >> /etc/rc.local
 
mkdir -p  /etc/keepalived/
 
mv /etc/keepalived/keepalived.conf /root/keepalived.conf.bak
 
M1:keepalive配置文件:
 
vim /etc/keepalived/keepalived.conf
 
! Configuration File for keepalived
 
vrrp_script chk_mysql_port {     #检测mysql服务是否在运行。有很多方式,比如进程,用脚本检测等等
 
    script "/etc/keepalived/chk_mysql.sh"   #这里通过脚本监测
 
    interval 2                   #脚本执行间隔,每2s检测一次
 
    weight -5                    #脚本结果导致的优先级变更,检测失败(脚本返回非0)则优先级 -5
 
    fall 2                    #检测连续2次失败才算确定是真失败。会用weight减少优先级(1-255之间)
 
    rise 1                    #检测1次成功就算成功。但不修改优先级
 
}
 
vrrp_instance VI_1 {
 
    state MASTER    
 
    interface ens192      #指定虚拟ip的网卡接口,改成你自己的 eth0或者其它什么的
 
   # mcast_src_ip 10.1.1.174
 
    virtual_router_id 51    #路由器标识,MASTER和BACKUP必须是一致的
 
    priority 101            #定义优先级,数字越大,优先级越高,在同一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级。这样MASTER故障恢复后,就可以将VIP资源再次抢回来
 
    unicast_src_ip  10.1.1.174 ##(本地IP地址)
 
    unicast_peer {
 
                  10.1.1.237 ##(对端IP地址)此地址一定不能忘记
 
                       }
 
    advert_int 1         
 
    authentication {   
 
        auth_type PASS
 
        auth_pass 1111     
 
    }
 
    virtual_ipaddress {    
 
        10.1.1.111
 
    }
 
track_script {               
 
   chk_mysql_port             
 
}
 
}
 
[root@crm-db01 ~]# cat /etc/keepalived/chk_mysql.sh         #####注意可执行权限
 
#!/bin/bash
 
counter=$(netstat -na|grep "LISTEN"|grep "23316"|wc -l)
 
if [ "${counter}" -eq 0 ]; then
 
    /etc/init.d/keepalived stop
 
fi
 
M2:keepalived配置文件:
 
[root@#localhost keepalived]# cat keepalived.conf
 
! Configuration File for keepalived
 
vrrp_script chk_mysql_port {
 
    script "/etc/keepalived/chk_mysql.sh"
 
    interval 2
 
    weight -5
 
    fall 2
 
    rise 1
 
}
 
vrrp_instance VI_1 {
 
    state BACKUP
 
    interface ens192             #指定虚拟ip的网卡接口,改成你自己的 eth0或者其它什么的        
 
    #mcast_src_ip 10.1.1.237
 
    virtual_router_id 51
 
    priority 90
 
    unicast_src_ip  10.1.1.237 ##(本地IP地址)
 
    unicast_peer {
 
                  10.1.1.174       ##(对端IP地址)此地址一定不能忘记
 
                       }
 
    advert_int 1
 
    authentication {
 
        auth_type PASS
 
        auth_pass 1111
 
    }
 
    virtual_ipaddress {
 
        10.1.1.111
 
    }
 
track_script {
 
   chk_mysql_port
 
}
 
}
 
[root@#localhost keepalived]# cat chk_mysql.sh           #####注意可执行权限
 
#!/bin/bash
 
counter=$(netstat -na|grep "LISTEN"|grep "23316"|wc -l)
 
if [ "${counter}" -eq 0 ]; then
 
    /etc/init.d/keepalived stop
 
fi
 
启动keepalived服务
 
[root@master1 ~]# /etc/init.d/keepalived start
 
常用命令:
 
/etc/init.d/keepalived restart|start|stop
 
/etc/init.d/mysqld restart|start|stop
 
查看keepalive状态:
 
systemctl status keepalived.service
 
查看日志:
 
tail -f /var/log/messages
 
四、可能出现的问题:
 
1.启动两个keepalived ,两边都有VIP。
 
我这个配置文件已经修改过,应该不会出现这个情况。
 
2.VIP起来后,无法通过VIP访问MySQL数据库。
 
关闭防火墙或者开放相关端口。
 
查看你的MySQL配置文件,看看有没有这个参数#bind-address = 10.1.1.237,有的话注释掉,重启数据库。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章