Php 来自远程数据库的mysql增量复制

Php 来自远程数据库的mysql增量复制,php,mysql,Php,Mysql,我们正在使用mysql和php开发一个web应用程序。 在我们的应用程序中,我们希望基于用户界面的触发器将本地mysql数据库与远程mysql数据库(在不同的主机上运行)同步 用户触发器以网页的形式出现,当用户单击按钮时,会触发php服务器脚本,该脚本应在后台执行此同步 我们计划用一种简单的方法来实现这一点,即打开与远程和本地db的db连接,然后插入行,一次插入一行。但是远程数据库表的大小可能非常大(多达几百万个条目),因此我们需要一个更高效的解决方案 有人可以帮助我们使用sql query/p

我们正在使用mysql和php开发一个web应用程序。 在我们的应用程序中,我们希望基于用户界面的触发器将本地mysql数据库与远程mysql数据库(在不同的主机上运行)同步

用户触发器以网页的形式出现,当用户单击按钮时,会触发php服务器脚本,该脚本应在后台执行此同步

我们计划用一种简单的方法来实现这一点,即打开与远程和本地db的db连接,然后插入行,一次插入一行。但是远程数据库表的大小可能非常大(多达几百万个条目),因此我们需要一个更高效的解决方案

有人可以帮助我们使用sql query/php代码,它可以高效地进行数据库同步,而不会给远程数据库带来太多负担

提前谢谢

希亚姆

更新
远程数据库不在我的控制范围内,因此我无法将其配置为主数据库或对其进行任何其他设置。这是我的一个主要限制。这就是为什么我想用php编程。我的另一个选择是从远程数据库读取1000行的块,然后插入到本地数据库中。但我想知道是否有更好的方法

当数据层内置了MySQL复制功能时,您不应该担心从应用层进行MySQL复制。请阅读“MySQL主/从复制”。是一个起点。

就主机而言,复制成本是最低的。它基本上是这样工作的:

  • 主服务器将所有(相关)活动记录到平面日志文件中
  • 从属服务器不时下载此日志,并在本地重放二进制日志
  • 因此,对主机的影响只是将线性数据写入日志文件,再加上一点带宽。如果您仍然担心对主机的影响,可以限制主机和从机之间的链接(在系统级别),或者在低活动时间打开链接(在适当的时间发出命令)

    我还应该提到,内置复制在MySQL引擎内部的低级别上进行。我不认为您可以通过外部流程实现更好的性能。如果您想在按下此“同步”按钮时完全同步本地数据数据库,请不要再进一步查看


    如果您可以使用部分同步,那么您可以让此按钮在短时间内恢复复制(例如,
    启动从机
    10秒,然后再次自动停止从机;用户需要再次单击以获取更多数据)已同步。

    如果MySQL已经具备复制功能,您为什么要重新发明轮子?