MySQL 主从复制

MySQL 主从复制

我正在尝试设置高可用性主从 MySQL 复制。我计划在不同的网络上安装两台服务器,其中一台作为主服务器运行,另一台作为从服务器运行,如下所示:

     A           B
 10.0.1.0/24 | 10.0.2.0/24
__________________________
 Master -----|---> Slave
 10.0.1.20   | 10.0.2.20

10.0.1.20如果系统完全正常运行,我的应用程序服务器将连接到(并执行 mysql 写入) 。

在故障转移情况下,从服务器将被提升,而主服务器将关闭,如下所示:

     A           B
 10.0.1.0/24 | 10.0.2.0/24
__________________________
 (DOWN)      | Master
 10.0.1.20   | 10.0.2.20

因此,服务器A现在已关闭并B已升级为 MySQL 主服务器。但是,我需要我的应用服务器知道它B已升级,并且所有未来的写入操作都应在 上进行10.0.2.20

对于只有一个主服务器和一个从服务器的情况,这很简单,但是如果有一个主服务器和三个从服务器,应该如何处理?PHP 应用程序如何知道要写入哪个 mysql 服务器?我需要自动升级 mysql 从服务器,并在 5 秒内完成。我无法让两台服务器使用心跳共享 VIP,因为它们位于完全不同的物理位置的两个不同网络上。

使用类似的拓扑结构通常如何处理此故障转移?

答案1

使用 keepalived、ucarp、heartbeat 或类似的东西来获得一个可以响应 php 应用程序的虚拟主 IP。

相关内容