请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

主从切换的时候,vip连接失败的问题

老师,您好。
我部署了一个MHA的一主二从的集群。
master的ip:172.16.0.1,vip:172.16.0.81/24
slave1的ip:172.16.0.2
slave2的ip:172.16.0.3
然后我在master上部署了一个业务代码,能成功连接mysql服务器,远程连接地址写的虚拟ip的地址(172.16.0.81),如下:

	DB, err = gorm.Open(mysql.Open(fmt.Sprintf(
		"%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local",
		"root",
		"123456",
		"172.16.0.81",
		3306,
		"test1",
	)))

然后,我模拟master服务器宕机,使用命令 kill -9 {$master_pid},此时slave1变成了master,并且vip漂移到了这台服务器。这时我在之前的master(172.16.0.1)上运行业务代码,却连接不了服务器。然后在172.16.0.1这台机器上ping 172.16.0.81 不成功。
请问老师,使用vip是为了主从切换的时候不用手动改业务代码,我这样写却连不上了为啥啊?

图片描述

正在回答 回答被采纳积分+3

插入代码

1回答

Moody 2023-07-12 15:36:43

你在新主上,ip a 一下,看看VIP挂上来了吗?


0 回复 有任何疑惑可以回复我~
  • 提问者 慕后端4419857 #1
    ip a 可以查出来,我用的是阿里云的ECS,我看网上有的说 ECS不支持vip?
    回复 有任何疑惑可以回复我~ 2023-07-12 20:49:17
  • Moody 回复 提问者 慕后端4419857 #2
    嗯呢,云厂商基本上都不支持vip,因为他们要卖自己的数据库产品,不让用户做高可用。
    回复 有任何疑惑可以回复我~ 2023-07-13 11:05:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信