2012-09-12 78 views
1

我有一個mysqldump文件,它是在我們的生產服務器上使用全數據庫選項創建的。從mysqldump恢復單個數據庫到另一個數據庫

比方說,轉儲包含

  • DB1
  • DB2
  • DB3

我知道我可以恢復只是

mysql -D db3 -o < backup.sql 

但我希望有一個單一的數據庫僅恢復db3到我的開發機器,但到另一個數據庫,可以說db3_production,因爲我的開發機器上已經有一個db3我想保留。

我怎樣才能做到這一點?文件大到可以用文本編輯器修改。

回答

2

獲取另一個文本編輯器。或通過程序像sed過濾你的備份文件就進入MySQL的前,像

cat backup.sql | sed "s/`db3`/`db4`/g" | mysql -D db4 -o 
+0

這將是一個可怕的想法,因爲真正的dbname是不是'db3'但我們公司的名稱和的比賽次數正則表達式將是巨大的;-) –

+0

這就是爲什麼它是在撇號。將表達式更改爲\'db3 \'。\'以使其更具體。 –

相關問題