简介
在windows下怎么搞定mysql的高可用呢,mysql高可用无非是先做Mysql的双主复制,也就是数据库双向同步,然后再做故障转移就行了,在linux下可以使用keepalived来设置虚拟IP搞定,在windows下本人是使用了一款HA软件来搞定mysql高可用方案的,软件如下图所示,
IP规划
我准备了两台虚拟机节点1和节点2来模拟高可用场景,IP规划如下:
节点1 | 192.168.56.101 | 255.255.255.0 |
节点2 | 192.168.56.102 | 255.255.255.0 |
VIP | 192.168.56.103 | 255.255.255.0 |
Mysql高可用之故障转移设置
我在节点1上选择一张网卡(读者按实际情况设置),然后设置本机IP,最后设置集群IP(虚拟IP),这里需要注意虚拟IP只能是同网段内无人使用的IP,设置完成以后,点击运行后,可以发现下面变成了主节点,这说明虚拟IP已经成功设置到本节点。然后在节点2上做类似的猛虎操作,节点2上点击运行会发现下面会出现备节点,因为虚拟IP只能绑定在一台电脑上。到此故障转移配置完成,相当于一个windows版的keepalived,如下图所示,
之后我验证了一下IP漂移的效果,也就是故意将节点1虚拟机关闭,观察虚拟IP是否漂移到节点2,关闭之后发现节点2升级为主节点,虚拟IP漂移成功,当再次将节点1开机后发现节点1降级成为了备节点,不得不说做这个软件的大佬确实牛逼
Mysql高可用之双主复制
故障转移配置完了,接下来就要做Mysql的双主复制了,所幸这个软件有另外一个功能,那就是双主架构一键部署,节点1将标签页切换到Mysql主从配置,先按上面的文本做相应的配置,然后输入本机的mysql相关信息和另外一个节点的mysql相关信息,然后点击部署,右下角会提示部署成功,到此,节点1(主)节点2(从)配置成功。然后在节点2上做类似的猛虎操作,做节点2(主)节点1(从)的设置,两边配置完成后,就完成了Mysql双主复制高可用集群。另外,打开软件的健康检测功能后,会自动检查Mysql服务的健康状况,当发现Mysql服务挂了,会先进行重启,如果重启失败,会进行虚拟IP的切换。如下图所示
之后,只需要统一使用虚拟IP对Mysql进行访问即可,这里需要注意,要使Mysql能用虚拟IP访问,需要保证mysql.user表有%的账号