情况:
使用在2个站点上运行的mysql数据库的Php应用程序
应用流量通常很低< 10个用户。
我需要的是,无论何时对在线数据库进行更改,此更改都会推送到localhost-如果在线或在其可用时 - 反之亦然(在本地完成的任何更改都会在线上传到数据库)是在线连接)。
可以通过mysql设置这样的复制吗?或者我是否需要编写一个ping主服务器的自定义PHP及其可用的
非常感谢:)。
答案 0 :(得分:3)
是的,您可以通过复制执行此操作。只需选择您想成为主服务器的服务器,然后让第二个服务器将其所有更改发送到主服务器,然后主服务器可以将其更改发回。
设置复制可能有点令人生畏,但一旦启动并运行它。 http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html
答案 1 :(得分:1)
让我们先分析一下你的问题:
使用动态IP 访问MySQL的问题。 这很容易。一旦您在具有不断变化的IP的服务器上安装MySQL,您可以做的是转到NO-IP,DynDNS或任何其他动态DNS服务并免费注册。一旦您向他们注册,您就可以获得操作系统的客户端。安装它然后您可以使用域名访问您的MySQL服务器。
实施例: 您无需访问127.0.0.1的服务器,而是可以将其作为mysql-server.easynet.net等访问。
现在是你问题的第二部分,虽然很复杂但是如何做可用和懒惰的复制。 这比前一步骤相对复杂一些。但是,实际发生的是您必须选择复制方案。基本上你在这里寻找的是MASTER-MASTER复制,因为你在两者 MySQL服务器上发生了可能性的变化。因此,更新需要双向,这就是这种复制方案的作用。怎么做?好吧,我提供的链接更容易理解:
Step-by-step MySQL Master Replication
我希望这会缓解你的困境并回答你的问题! 干杯!
答案 2 :(得分:0)
当然,你可以
您需要同时将两个MySQL服务器设置为主服务器和从服务器
将在线服务器配置为Master,将localhost服务器配置为slave,并且一旦复制就可以
将localhost配置为Master,将在线服务器配置为slave
我已经在两台服务器上做过了。
关于本地主机上的动态IP,您可以使用任何动态IP服务,例如:no-ip,并使用dns名称而不是IP。
答案 3 :(得分:0)
Here's a post i've written(法语,但你可以从中获取配置片段),用于设置带有负载均衡器(mysql代理)的MASTER-MASTER复制,以平衡两个节点之间的SQL查询。