2017-03-17 35 views
0

我有從我的舊服務器從MySQL的所有數據庫和表的完整日誌。它需要800mb。 (我運行mysqldump來轉儲所有數據) 我想恢復到新服務器只有2個數據庫,每個數據庫有幾個表;處理myslqdump文件只選擇必要的數據庫

我需要一個建議,我怎麼可以用最少的努力來處理這個fils,只把「database1」和「database2」放到我的新服務器mysql中。

我正在考慮導入所有這些,然後刪除不必要的,但這樣我會覆蓋「mysql」系統數據庫,我不想。

我在debian Linux上,我甚至不能編輯這個800MB文件,因爲它太大了。

因爲它是服務器,我只有ssh訪問它。沒有GUI。

在此先感謝

回答

1

假設您轉儲包含10個數據庫,則無法運行:

mysql -u username -p database_name_1 < file.sql 
mysql -u username -p database_name_2 < file.sql 

這將然後導入只是database_name_1和database_name_2

+0

好吧,這會從我的database_dump.sql文件導入_ALL_數據。但我只需要導入其中的2個,不是全部。 除此之外,正如我所提到的,這將覆蓋「mysql」數據庫,我不想覆蓋它。 我可以做到這一點,如果我可以過濾出「mysql」db –

+1

我編輯了我的答案。這不是做這份工作嗎?也許我誤解了? – Chris

+0

是的,這是有道理的。謝謝 ! –

0

好,我用這個忠告 Split one file into multiple files based on delimiter 將我的文件分割爲多個文件,每個數據庫一個,使用「數據庫轉儲例程」作爲分隔符。 和一些清理和重命名後,我得到了每個數據庫1個SQL文件,所以我能夠分別導入我的兩個數據庫。