【问题标题】:mysql database Multi-master replication on dynamic ipmysql数据库多主复制动态ip
【发布时间】:2014-01-05 00:26:30
【问题描述】:

情况:

在 2 个站点上运行 mysql 数据库的 PHP 应用程序

  1. 在线-静态ip X.X.X.X
  2. localhost(大部分时间不在线和动态ip)

应用程序流量通常很低

我需要的是,每当对在线数据库进行更改时,此更改都会推送到本地主机 - 如果它在线或可用时 - 反之亦然(本地完成的任何更改都会在线上传到数据库)是在线连接)。

是否可以通过 mysql 设置此类复制?还是我需要编写一个自定义 PHP 来 ping 主服务器并且一旦它可用

非常感谢:)。

【问题讨论】:

  • 有任何关于你为什么提供赏金的提示吗?给出的答案有什么不清楚的地方?

标签: php mysql database replication database-replication


【解决方案1】:

我们先分析一下你的问题:

  1. 动态ip访问MySQL的问题。 这很容易。在 IP 不断变化的服务器上安装 MySQL 后,您可以使用 NO-IP、DynDNS 或任何其他动态 DNS 服务并免费向它们注册。向他们注册后,您将获得一个适用于您的操作系统的客户端。安装它,然后您就可以使用域名访问您的 MySQL 服务器了。

    示例: 不必访问 127.0.0.1 的服务器,您可以通过 mysql-server.easynet.net 等方式访问它。

  2. 现在是您问题的第二部分,虽然很复杂,但如何进行可用和延迟复制。 这比上一步相对复杂一些。但是,实际发生的是您必须选择一个复制方案。基本上,您在这里寻找的是 MASTER-MASTER 复制,因为您有 可能两个 MySQL 服务器上发生更改。因此更新需要双向,这就是这个复制方案所做的。怎么做?好吧,我提供了我发现更容易遵循的链接:

Master-Master Replication

Step-by-step MySQL Master Replication

我希望这能缓解您的困境并回答您的问题! 干杯!

【讨论】:

    【解决方案2】:

    Here's a post i've written(法语,但您可以从中获取配置 sn-ps)用于使用负载平衡器(mysql 代理)设置 MASTER-MASTER 复制,以平衡两个节点之间的 SQL 查询。

    【讨论】:

      【解决方案3】:

      当然可以
      您需要同时将两台 MySQL 服务器设置为主服务器和从服务器。
      将在线服务器配置为Master,将localhost服务器配置为slave,复制一次就OK了。
      将localhost配置为Master,将在线服务器配置为slave。
      我已经在两台服务器上这样做了。

      关于本地主机上的动态IP,你可以使用任何动态IP服务,例如:no-ip,并使用dns名称而不是IP。

      【讨论】:

        【解决方案4】:

        是的,您可以通过复制来做到这一点。只需选择您想成为主服务器的服务器,然后让第二台服务器将其所有更改发送到主服务器,然后主服务器可以将其更改发送回来。

        复制的设置可能有点令人生畏,但一旦它启动并运行它的光栅。 http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

        【讨论】:

          猜你喜欢
          • 2016-03-31
          • 2017-08-23
          • 2013-05-02
          • 2015-01-08
          • 2014-03-11
          • 2015-09-18
          • 1970-01-01
          • 1970-01-01
          • 2014-02-07
          相关资源
          最近更新 更多