【问题标题】:mysql replication master-master-mastermysql 复制主-主-主
【发布时间】:2014-10-01 17:45:00
【问题描述】:

我们目前已将 MySQL 配置为支持故障转移:Site1 Site2。虽然它们被设置为主/主。在给定的时间点,只有一个站点正在被应用服务器主动写入。 我们要设置一个新的故障转移站点。然后我们将拥有 Site1Site2Site3。三向复制。同样,只有一个站点会主动写入数据库。另外两个只是备用。目前 Site1 和 Site2 运行的是稍旧的 5.5.29,但我们希望在新的 Site3 上使用 5.6.20。最终我们会升级到其他的 5.6.20,但我们现在必须以这种方式运行。

这可能吗?有什么建议或注意事项吗?

提前致谢

【问题讨论】:

  • 如果您不写入所有数据库服务器,为什么要使用 master-master 或 master-master-master 配置?您可以使用带有故障转移选项的主从切换主服务器。
  • 因为老板希望故障转移是自动的(我继承了这个设置)。我们只是更改 DNS 条目以影响故障转移。
  • 但是如果你简化了设置而不是让它变得更复杂,你的老板会不会觉得很棒?
  • 我可以尝试提出这个论点。但他们不愿改变设置这一切的天才。我描述的可能吗?我知道我必须在新的故障转移(5.6.20)中设置一些变量 [binlog_checksum=NONE , binlog_row_image=FULL, binlog_rows_query_log_events=OFF,log_bin_use_v1_rows_events=1 和 gtid_mode=OFF ]
  • 您真的需要这种可用性吗?您可能会建议他们查看 AWS RDS 服务或类似的服务,这样您就不必维护此基础设施。一个 n+2 冗余配置(其中 n = 1)老实说似乎有点疯狂——就像基本上是在浪费金钱和开发工作。

标签: mysql multi-master-replication


【解决方案1】:

假设您有具有主-主复制的服务器“1”和“2”,并愿意添加服务器“3”。然后你可以做一个复制循环:配置你的新服务器“3”从“1”复制(所以“2”和“3”都从“1”复制)。然后点“2”从“3”而不是“1”复制。

PS:另外,为了在没有 DNS 条目操作的情况下实现 HA,我建议使用 keepalived(如果可能在您的环境中),这将为客户端提供相同的故障转移和透明度(他们会看到单个虚拟 IP)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2014-07-07
    • 2012-09-14
    • 2012-10-16
    • 1970-01-01
    相关资源
    最近更新 更多