2012-09-04 122 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實例....

確保你得到你想要同步和複製有資格進行復制和自已修改的記錄每一個源表的索引更新時間戳最後一次捕獲。