MySQL双主加Keepalived
欢迎来到本际云服务器推荐网,我是小编小本本。今天我们来了解一下MySQL双主加Keepalived的配置方法。

配置半同步
在192.168.56.11和192.168.56.12上安装插件,开启半同步机制的方法如下:
- 在192.168.56.11上:install plugin rpl_semi_sync_master SONAME semisync_master.so;
- 在192.168.56.11上:install plugin rpl_semi_sync_slave SONAME semisync_slave.so;
- 在my.cnf文件中添加以下配置:
- 在192.168.56.11和192.168.56.12上创建同步账号。
log_bin
server_id=1001
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1
master_info_repository=TABLE;
relay_log_info_repository=TABLE;
gtid_mode=ON
enforce_gtid_consistency=ON
启动双主
在192.168.56.11和192.168.56.12上启动双主的方法如下:
- 在192.168.56.11上:CHANGE MASTER TO MASTER_HOST=192.168.56.12, MASTER_USER=sync, MASTER_PASSWORD=sync, MASTER_PORT=3306, MASTER_AUTO_POSITION=1; start slave;
- 在192.168.56.12上:CHANGE MASTER TO MASTER_HOST=192.168.56.11, MASTER_USER=sync, MASTER_PASSWORD=sync, MASTER_PORT=3306, MASTER_AUTO_POSITION=1; start slave;
- 在192.168.56.11和192.168.56.12上查看Rpl_semi_sync_master_clients的值是否为1,Rpl_semi_sync_master_status和Rpl_semi_sync_slave_status的值是否都为ON。
安装Keepalived
在192.168.56.11和192.168.56.12上安装Keepalived的方法如下:
- 安装依赖包。
- 编译安装Keepalived。
- 在/etc/keepalived目录下创建keepalived.conf文件。
- 添加监控MySQL是否存活的脚本。
- 启动Keepalived服务。
配置文件
在192.168.56.11和192.168.56.12上的keepalived.conf文件配置如下:
192.168.56.11的keepalived.conf:
global_defs {
router_id KeepAlive_MySQL
}
vrrp_script check_run {
script “/etc/keepalived/bin/mysql_check.sh”
interval 30
}
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
mcast_src_ip 192.168.56.11
virtual_router_id 51
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_run
}
virtual_ipaddress {
192.168.56.13
}
}
192.168.56.12的keepalived.conf:
global_defs {
router_id KeepAlive_MySQL
}
vrrp_script check_run {
script “/etc/keepalived/bin/mysql_check.sh”
interval 30
}
vrrp_sync_group VG1 {
group {
VI_1
}
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
mcast_src_ip 192.168.56.12
virtual_router_id 51
priority 90
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_run
}
virtual_ipaddress {
192.168.56.13
}
}
脚本
在192.168.56.11和192.168.56.12上的mysql_check.sh脚本如下:
#!/bin/bash
./root/.bash_profile
count=1
while true
do
mysql -uroot -p”xxxxx” -e “show status;” >/dev/null 2>&1
i=$?
ps aux|grep mysqld|grep -v grep >/dev/null 2>&1
j=$?
if [ $i = 0 ] && [ $j = 0 ]
then
exit 0
else
if [ $i = 1 ] && [ $j = 0 ]
then
exit 0
else
if [ $count -gt 5 ]
then
break
fi
let count++
continue
fi
fi
done
/etc/init.d/keepalived stop
以上就是MySQL双主加Keepalived的配置方法,希望能对您有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6214.html
