2012-03-19 25 views
2

我正試圖恢復我的MySQL數據庫到我的網站,並且我的數據庫中的所有表都被刪除到單個文件中,所以我想弄清楚如何通過SSH恢復所有數據庫.sql文件單一(或簡單的命令),而不是單獨恢復所有100個表。如何通過SSH一次導入多個數據庫?

回答

9
cat *.sql > data.sql 
mysql -u <username> -p < data.sql 
1

這取決於你如何創建單個文件 - 如果他們有所有的指令重新創建表(即「落如果不存在......」,「創建...」和「INSERT INTO ...「),那麼你可以將它們連接到MySQL:

cat *.sql | mysql -u xxx -pxxx dbname 

或編寫一個腳本來做到這一點

#!/bin/sh 
mysql -u xxx -pxxx dbname < file001.sql 
mysql -u xxx -pxxx dbname < file002.sql 

第二個選擇可以讓您更容易控制處理文件的順序。最後,您可能希望以更方便的方式創建備份 - 查看mysqldump以瞭解如何將數據庫(或多個!)轉儲到一個文件中(基本上,「mysqldump -u xxx -pxxx dbname> dbname」。 sql「,但是可能需要添加一些有用的標誌)。

+1

它應該是「mysqlDUMP -u xxx -pxxx dbname> dbname.sql」:D – scibuff 2012-03-19 14:24:46

+0

是的的確的;好趕上 - 謝謝你,@scibuff。我相應地糾正了我的答案。 – 2012-03-19 15:29:13

相關問題