参考:https://www.modb.pro/db/624217
应用连接到vip,主库宕机将自动切换到从库(5秒内vip可正常)
mysql mgr集群中所有节点都需要检查部署:
vip打算挂在哪个网卡上? 记录网卡名称eth0和网关:
[root@mgr01 ~]# ip a|grep global
inet 192.168.207.131/24 brd 192.168.207.255 scope global noprefixroute eth0
[root@mgr01 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.207.1 0.0.0.0 UG 100 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.207.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@mgr01 ~]# ip route
default via 192.168.207.1 dev eth0 proto static metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.207.0/24 dev eth0 proto kernel scope link src 192.168.207.131 metric 100
避免连接密码警告提示:
[root@mgr01 ~]# cat /etc/my.password
[client]
user=root
password=1qazXSW@
检测脚本:
[root@mgr01 ~]# cat /etc/vip_check.sh
step=3
for ((i = 0; i < 60; i = (i + step))); do
$(/etc/vip.sh)
sleep $step
done
exit 0
[root@mgr01 ~]# cat /etc/vip.sh
#!/bin/bash
dbstats=`/usr/bin/mysql --defaults-extra-file=/etc/my.password -s -P 33062 -e "select MEMBER_HOST,MEMBER_ROLE from performance_schema.replication_group_members;"|grep "192.168.207.131"|awk '{print $2}'|grep "PRIMARY"|wc -l` #注意修改此处的IP地址为本机的IP
ip=`/usr/sbin/ip a|grep eth0:1|wc -l`
if [[ "${dbstats}" -eq 1 ]] ; then
if [[ "${ip}" -eq 0 ]]; then
/usr/sbin/ifconfig eth0:1 192.168.207.134 netmask 255.255.255.0 up ##注意修改网卡名称和浮动IP地址
/usr/sbin/arping -I eth0 -b -s 192.168.207.134 192.168.207.1 -c 4 ##解决了vip切换后5秒内可联通的问题,不加arping可能需要耗时5分钟左右
fi
else
if [[ "${ip}" -gt 0 ]]; then
/usr/sbin/ifconfig eth0:1 down
fi
fi
设置定时任务:
[root@mgr01 ~]# crontab -l
* * * * * /etc/vip_check.sh > /dev/null 2>&1
检查VIP是否正常:
ip a|grep 192.168.207.134
ping 192.168.207.134
集群维护常用命令参考:
启动mysql数据库:
service mysql start
连接mysql:
mysql -h192.168.207.131 -uroot -p"password"
检查集群状态:
select * from performance_schema.replication_group_members;
从节点加入集群:
start group_replication;
所有节点都宕机的情况下:
查看各个节点全局事务ID:
show global variables like '%gtid%';
选择gtid值最大的作为主库,然后在该节点执行如下步骤:
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
其它从节点只需执行:
START GROUP_REPLICATION;
检查主从状态:
select * from performance_schema.replication_group_members;
手动切换主:
select group_replication_set_as_primary('75f92847-db80-11ed-8681-000c29676ef3');
最后修改时间:2023-04-26 16:44:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




