2013-10-28 49 views
0

我有兩臺服務器A和B,其上安裝有mysql。目前我的站點正在從服務器A加載。mysql合併來自具有相同描述的不同表格的更改

我從數據庫A備份數據庫並在特定日期(例如oct17)將其恢復到服務器B上。由於該網站是活的,它不斷更新服務器A上的數據庫,直到Oct24。我偶然讓服務器B活着(比如說24日)。所以我在數據庫B中的Oct 17和Oct 24之前丟失了內容。由於服務器B現在正在運行,因此它現在正在更新。我如何將缺少的內容添加到數據庫B?

我計劃的一件事是嘗試從數據庫B到數據庫A中的表中將oct 24之後的所有內容複製。更新所有表後,從A轉儲數據庫並恢復到數據庫B .....

任何想法來完成這個問題?任何工具來比較和更新值?

感謝,

+0

你可以做IF NOT EXISTS(...)然後...,也就是說,如果數據從沒有B中存在,然後將它添加到B,並且... – Krishna

+0

@MisterSpock:感謝您的快速回復。我對命令行不太熟悉。我有兩個服務器的phpmyadmin。如果我在服務器B中發現更新即將到來的行,是否有任何方法只能轉儲那一個?或任何工具來執行比較? – Gopu

+0

您可以從[MySQL Utilities](http://dev.mysql.com/doc/workbench/en/mysqldbcompare.html)中檢查mysqldbcompare'。它可以生成一組SQL語句,它將更新數據庫B以匹配數據庫A. –

回答

0

您可以檢查是否mysqldbcompareMySQL Utilities能爲你做的工作。

mysqldbcompare --server1=A --server2=B --changes-for=B --difftype=sql 

應生成SQL語句,這將使服務器B匹配服務器A.

相關問題