2012-09-04 95 views
3

我正在为客户开发一个带有MySQL数据库的网上商店。 这个客户已经用MySQL数据库发票管理网站。如何使用Cronjob PHP脚本同步两个MySQL数据库?

现在我想写一个由cronjob触发的php脚本来同步发票,客户端和产品记录。

订单记录:

id | clientId | status | shipping | reduction 

* ORDER_ITEMS记录:*

id | productId | price |amount | orderId 

客户端记录:

id | fname | name | email | ... 

请注意,只有为了记录与status = 2应同步,在同步后,状态应更改为3

两个数据库正在使用的订单不同的表和发票

什么是做到这一点的最好方法是什么?

+0

如果你有存储过程的选项,这可能是执行数据库调用的好方法。那么你只需要你的cron作业来执行那个过程。或者,cron作业可以使用相关的SQL更新来执行PHP文件。 – AlexP

回答

0

1)选择记录
2)遍历记录
3)启动事务(可选)
4)在DB1中插入记录在DB2
5)更新记录
6)提交

0

数据库是否在单独的MySQL实例上运行?

如果是这样......

什么是做到这一点的最好方法是什么?

在两个系统上使用相同的数据库结构并使用mysql的异步复制。

如果失败,则使用联合引擎从另一个实例的一个实例中访问表,然后按照下面相同实例的过程操作。

如果同MySQL实例....

确保你得到你想要同步和复制有资格进行复制和自已修改的记录每一个源表的索引更新时间戳最后一次捕获。