2012-11-14 47 views
4

我有一個開發服務器,可以編輯一個數據庫的副本,並在同一個數據庫在不同的狀態下生活真實的服務器。從開發數據庫移到現場,我從開發服務器上運行:mysqldump合併,而不是覆蓋

mysqldump -u root -p --opt db_name tbl_name | mysql -u user_name -p --host=live_IP -C db_name 

隨着DB_NAME,tbl_name,User_name和live_IP適當的值。但是,它目前在實時服務器上放置該表,並複製開發版本 - 有效覆蓋所有內容並廢棄活動表中的任何新數據。我真正想要的是在開發服務器中添加新行,並且衝突的行來自開發服務器的副本,但活動服務器副本中的任何新行保持不變。這是某種合併,我在文檔中找不到任何類似的內容,但它似乎應該是可能的,因爲這是一種常見的需求。

回答

7

您可以在管道前添加mysqldump options。在你的情況下,我認爲你想要 - 插入忽略, - 無創建數據庫和 - 無創建信息。