1、准备服务器
机器 | 需安装服务 | 作用 |
MySQL1 | 安装MySQL和keepalived | 主库 |
MySQL2 | 安装MySQL和keepalived | 从库 |
2、两台服务器做MySQL的主从复制(互为主从)
主从复制这里就略了,参考主从复制文章
3、修改keepalived的配置文件
[root@master ~]# vim /etc/keepalived/keepalived.conf
删除原有的配置文件,添加如下内容
! Configuration File for keepalived
global_defs {
router_id server1
}
vrrp_script check_mysql {
script "/etc/keepalived/check_mysql_status.sh"
interval 3
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 80
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.188.66/24
}
track_script {
check_mysql
}
}
4、编写配置文件中的检测脚本
[root@master ~]# vim /etc/keepalived/check_mysql_status.sh
#!/bin/bash
mysql -uroot -p1 -e 'show status;'
if [ $? -ne 0 ];then
systemctl kill keepalived
fi
脚本意思是当检测到MySQL停止时,杀死keepalived,将VIP转移到从服务器
给脚本赋予执行权
[root@master ~]# chmod +x /etc/keepalived/check_mysql_status.sh
5、将该写完的配置文件和脚本发送给从服务器
[root@master ~]# scp /etc/keepalived/keepalived.conf 192.168.188.212:/etc/keepalived/
[root@master ~]# scp /etc/keepalived/check_mysql_status.sh 192.168.188.212:/etc/keepalived/