【问题标题】:What is the best way to transfer selected MySQL data every minute to another MySQL server?每分钟将选定的 MySQL 数据传输到另一台 MySQL 服务器的最佳方法是什么?
【发布时间】:2012-11-29 08:35:06
【问题描述】:

嗯,我正在寻找一种方法,我可以每分钟或至少每几分钟将选定的 MySQL 数据从一台服务器传输到另一台服务器。举个例子:

(连接源SQL服务器并选择需要的数据)

SELECT name, email, online, session FROM example_table WHERE session!=0

(处理数据,连接到外部目标 SQL 服务器并插入/替换数据)

我只想将查询的输出传输到目标服务器,目标服务器当然具有合适的表结构。

我已经制作了一个简单的 PHP 脚本,它在 Linux 上由 cronjob 每分钟执行一次,但我想有更好的性能方式,它现在也不支持数组。

欢迎任何与 Linux 兼容的建议/代码示例。

【问题讨论】:

  • 如果你真的只是想复制数据的一个子集,那么当前的方法实际上已经很合理了。

标签: php mysql


【解决方案1】:

我不完全确定您要传输的数据是什么,但幸运的是 MySQL 支持不同服务器之间的复制。如果您将数据保存在本地源服务器上并将目标服务器设置为从源服务器获取所有更新,您将拥有两个相同的数据库。这样,您就不需要任何脚本或 cronjobs。

您可以在http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html找到更多信息。

【讨论】:

  • 好吧,我信任 MySQL 复制,但我一般只想从包含 300.000 多个条目的表中平均选择 100~ 个条目,并且我不需要网络服务器的大多数附加列。不过,先将数据传输到自己的表中并仅复制单个表的想法很好,谢谢:)
【解决方案2】:

这是一个很好的开源复制引擎:

http://code.google.com/p/tungsten-replicator/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 2015-10-30
    • 2010-09-19
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2022-10-18
    相关资源
    最近更新 更多