在插入SERVER1或SERVER2数据库表时,触发一个不同的插入到SERVER3数据库表

时间:2011-12-02 17:16:56

标签: php mysql

SERVER1 =购物车1 SERVER2 =购物车2 SERVER3 =报告

我目前有3台服务器,2台是购物车( SERVER1 & SERVER2 ),1台用于报告和手动输入订单( SERVER3 )。

SERVER3 上我有一个手动输入订单的表格(此表比 SERVER1 上的订单表更多信息&amp; SERVER2 < / strong>因为下订单后进行的某些处理。)我想以某种方式从 SERVER1 &amp;上的订单表中导入信息。 SERVER2 即时 SERVER3 ,因此这些订单可以遵循相同的流程。


** 的以前 **

我们之前曾使用CSV将其导入 SERVER3 订单表(将新行下载到CSV,然后使用PHP /将此CSV导入 SERVER3 表MySQL的)


** 的思想 **

1) 最简单的方法是在 SERVER1 &amp;上添加PHP / mySQL代码 SERVER2 还要在 SERVER3 上更新此表?我宁愿不这样做,因为我希望这个过程快速而独立。如果由于某种原因 SERVER3 发生故障,我不希望它影响 SERVER1 &amp;的排序。的 SERVER2

2)我考虑过使用触发器,但它们只适用于现有的mySQL连接。我从 SERVER1 &amp ;;复制数据。 SERVER2 SERVER3 上的mySQL实例分开(mySQL只能有1个master,因此有多个实例)但有没有办法利用mySQL触发器更改端口并进行更新那样的?

3)我能想到的唯一另一件事是创建一个PHP cronjob来检查这些表,但是这真的不会在飞行中发生,但每当我运行cronjob时。

也许我只是在想太多,任何帮助都会受到赞赏!

1 个答案:

答案 0 :(得分:0)

也许您可以使用触发器,但是在FEDERATED引擎表中编写/更新,它并不漂亮,但可以解决您的问题。

有关FEDERATED引擎here的更多信息,此引擎会创建一种远程服务器表的本地表。