如何通过SSH一次导入多个数据库?

时间:2012-03-19 12:55:37

标签: mysql sql ssh

我正在尝试将我的mysql数据库恢复到我的网站,并且我的数据库中的所有表都被删除到单个文件中,所以我试图找出如何通过SSH恢复所有数据库.sql文件一个(或简单的命令),而不是单独恢复所有100个表。

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:1)

这取决于您创建单个文件的方式 - 如果他们具有重新创建表的所有说明(即“Drop if exists ...”,“Create ...”和“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&gt; dbname”。 sql“,但是你可能想要添加一些有用的标志。)