说明
mysql
双主模式下,在任意一台mysql
上写数据都会同步到另一台上,本章通过keepalived VIP
实现如果一台服务挂了会自动切换到另一台mysql
上.
配置
# 安装keepalived,centos默认安装了
yum install keepalived -y
修改双主机/etc/keepalived/keepalived.conf
配置.
global_defs {
router_id mysql
}
vrrp_script chk_mysql {
script "killall -0 mysqld" // 检测mysql进程是否存活
interval 2
timeout 2
fall 3
}
vrrp_instance mysql {
state MASTER
interface ens33
virtual_router_id 51
priority 100 // 另一台权重可以设置90,防止争抢VIP
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.41.140 // 设置虚拟ip
}
track_script {
chk_mysql
}
}
测试
# 通过命令可以看到VIP已经在一台机器上了,也可以通过虚拟IP连接上mysql
[root@mysql01 mysql]# ip addr sh ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:26:c2:7e brd ff:ff:ff:ff:ff:ff
inet 192.168.41.141/24 brd 192.168.41.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.41.140/32 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe26:c27e/64 scope link
valid_lft forever preferred_lft forever
# 关掉mysql服务,命令可能根据你安装方式有区别
service mysql stop
# 再次在两台机器上执行命令,可以看到VIP转移了,可以继续通过VIP连接mysql
ip addr sh ens33