老师,您好。
我部署了一个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是为了主从切换的时候不用手动改业务代码,我这样写却连不上了为啥啊?