MySQL+keepalived高可用配置

MySQL高可用

虚拟机:

  centos7

6也可以但是网卡不一样大家注意!!!

基础环境:
基于MySQL互为主从(双主、主主),请现配置

在主上面先安装 keepalived

       yum -y install keepalived

编辑keepalived配置文件

vim /etc/keepalived/keepalived.conf      

vrrp_instance VI_1 {
state MASTER      \\初始状态MASTER\BACKUP  
interface ens33      \\网卡设备
virtual_router_id 51      \\广播的路由ip
priority 100        \\优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.188.188       \\ VIP地址
}
}

virtual_server 192.168.188.188 3306 {    \\虚拟机服务器     
delay_loop 6
lb_algo rr               \\rr算法
lb_kind NAT               \\NAT模式 还有一个是DR模式
protocol TCP

real_server 192.168.174.131 3306 {     \\真实虚拟机
weight 1 
notify_down /root/kill.sh      \\当我们检测到3306不可用的时候,执行脚本      
TCP_CHECK {          \\传输控制协议检查
connect_timeout 3
connect_port 3306         \\端口是3306
nb_get_retry 3
delay_before_retry 3
}
}
}

生成一个停止脚本

cat kill.sh
#!/bin/bash
systemctl stop keepalived

 然后重启keepalived

systemctl restart keepalived

查看 ip a 看是否生成VIP

从:

也要安装keepalived

yum -y install keepalived

为了不想太麻烦 直接从上面scp一份到上面

scp /etc/keepalived/keepalived.conf root@192.168.174.132:/etc/keepalived/keepalived.conf

这个时候要修改的就是

state BACKUP  初始状态

interface ens33   网卡

priority 90    优先级

real_server 192.168.174.132 3306  真实服务器的ip

然后把主的kill.sh脚本 复制一份到从

scp kill.sh root@192.168.174.132:/root/

然后重启一下Keepalived

systemctl restart keepalived

 测试:

停止mysql

systemctl stop mariadb

查看 ip a

这是主 主上面没有的话 查看从上面是否飘逸成功

 飘逸成功 说明实现了mysqld+keepalived高可用

原文地址:https://www.cnblogs.com/xiaonan1/p/12561717.html