【问题标题】:Different architectures for MySql database replicationMySql 数据库复制的不同架构
【发布时间】:2011-05-05 01:17:06
【问题描述】:

我们正在构建一个具有两个应用程序服务器和两个 mysql 数据库服务器的生产设置。对于 HA 功能,我想在 2 个数据库服务器之间设置复制。

我想解决的一些问题是:
1.主从设置与主从设置的优缺点是什么?在什么条件下你会选择其中一个?
2. 如果发生故障,哪种设置是 a) 易于执行故障转移和恢复,b) 更可靠(不丢失数据)?

我知道 Mysql 提供二进制复制,但我必须使用 3rd 方工具,如 MMM(多主复制管理器)、Master-Master 设置和虚拟 IP 来处理故障转移。

我在 dev.mysql.com 上找到的大多数文档都与设置复制有关,并没有真正讨论如何在 Master-Slave 与 Master-Master 设置之间做出设计决策的利弊。

谢谢。

【问题讨论】:

    标签: mysql database architecture replication


    【解决方案1】:

    我目前有一堆从站设置了二进制复制,其中一个主站和多个从站。设置起来更容易(专业版),但如果主服务器出现故障,则需要更多干预。如果设置正确,Master-master 将自行重建。主从意味着 dba 必须创建转储,将其移回主服务器,重建并重新启动 MySql。脖子有点痛。

    如果实施得当,Master-Master 基本上会更加强大。实施错误,您可能会陷入困境。在小型环境中,在主从上进行手动重建的开销可能小到足以保证更复杂的主从设置。

    【讨论】:

    • 如果您不了解如何正确实现它,即您曾经写入 >1 个服务器,则 Master-master 的健壮性会降低。它不会尝试解决冲突,如果您同时写入两者,您最终可能会得到零一致的数据副本。如果你使用主从,你至少有一个。
    • 关于冲突的优秀观点,非常正确。当我说“如果设置正确”时,我认为我暗示的不够强烈。毕竟这就是我使用主从的原因,在我必须在小型生产环境中进行手动重建的非常非常罕见的情况下,并不值得进行更复杂的主-主设置。
    • 感谢您的警告。当您说“曾经写入> 1台服务器”时,您的意思是同时?因为如果一个 master 宕机,另一个 master 将不得不处理写入/读取。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2020-05-29
    • 1970-01-01
    相关资源
    最近更新 更多