我们正在实施在 MySQL 上运行的新 CMS (Drupal 6.x)。我们有两个数据中心——主要的和次要的——它们之间的延迟是已知的。我们不确定我们将运行哪个版本的 MySQL……社区或企业,但这是一个待定的时间。看起来我们将运行 InnoDB 引擎,操作系统将是 RedHat EL 5.5 主服务器将处于活动状态,而辅助服务器将处于被动或热备用状态。
我想在 MySQL 中跨两个数据中心实现复制、高可用性和自动故障转移。
在故障转移到辅助服务器后,当我们故障恢复到主服务器时,我们希望将数据从辅助数据库快速完整地同步到主数据库,以便我们可以继续提供来自主服务器的内容。
我很想知道可以使用哪些技术/工具/最佳实践来解决/解决这些问题。此外,任何陷阱或啊哈时刻也将不胜感激。我已经阅读了 MySQL 复制、集群和一些 3rd 方工具,如 Tungsten 和 Dolphinics,但我不确定什么是最好的行动方案。
感谢您的时间!
知识管理
我们正在为我们公司开发一种新的系统架构。我们有一个 HPC,它在我们自己的数据中心运行,我们正在规划我们的前端和 Amazon Web Service 上的后备系统。
系统架构:

先决条件:
题:
在这种设置中复制 MySQL 数据库的最佳解决方案是什么?
我找到了很多关于设置 MySQL 复制的好材料,但没有太多关于在发生故障时该怎么做。了解我可以达到的弹性程度是设计我的系统的基础,所以我不是在这里寻找“如何”管理建议,而是想了解可实现的语义。
因此,为了简化我的要求,我有一个应用程序,除非它可以读取数据库,否则无法运行。有两种场景:一是常见用法,一分钟请求很多,读数据库返回一个答案。其次,不那么频繁地用新数据更新数据库。更新延迟几分钟是可以接受的。
所以我的第一个想法是:Master->Slave
现在读者可以使用 Master 或 Slave,如果我们失去 Master 一段时间,读者可以对抗 Slave。
听起来很简单。但是......更严重的问题呢,如何手动恢复?多久时间?什么数据丢失?
以这个场景为例:Master->Slave。我们知道从站可能与主站有点不同步。现在假设我们失去了主人,这意味着它不会很快回来。
现在大概我们需要 Slave 成为可写的 Master,我们需要一个新的 Slave。
具体问题: