mysql 两主一从环境搭建(5.7.24) (3)

keepalived 其它相关命令systemctl enable keepalived # 开机自启动 systemctl start keepalived # 启动 systemctl stop keepalived # 暂停 systemctl restart keepalived # 重启 systemctl status keepalived # 查看状态 tail -f /var/log/messages

测试

首先,所有机器、软件都正常运行

通过各个 IP和VIP 连接数据库查看均能正常连接到数据库

image

master-a 获得了 vipip addr

image

通过 VIP 连接数据库,之后创建一个 db_test 库以及 tb_user表

master-a、master-b、slave 均存在创建的库和表

连接 master-a 的数据库,并新增一条数据

master-b、slave 均有新增的数据

连接 master-b 的数据库,并新增一条数据

master-a、slave 均有新增的数据

关闭 master-a 的mysqlservice mysql stop #关闭 mysql systemctl status keepalived #查看 keepalived 状态

master-a 的 keepalived 自动关闭了,原因是 mysql 关闭会触发 keepalived 配置的 notify_down 脚本

master-b 获得了 vip

通过 VIP 连接数据库,并插入一条数据

master-a(无法连接)

master-b (存在新增数据)

slave(不存在新增数据,因为 master-a 挂掉了)

重启 master-a 的 mysql 和 keepalived

vip 仍然在 master-b ,因为 master-a keepalived 配置了非抢占模式 nopreempt,因此若是主机故障排除后需要将主机的keepalived重启,然后重启从机的keepalived,需要让主机获取到 VIP

master-a、master-b 同步了刚刚新增的数据

关闭 master-b、slave 的mysql,通过 master-a 新增一条数据,之后重启 master-b、slave 的 mysql,以及 master-b 的 keepalived

master-b存在新增数据

slave 存在新增数据

vip 仍然在 master-a

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgydsd.html