2012-03-19 52 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

相关问题