我正在尝试将我的mysql数据库恢复到我的网站,并且我的数据库中的所有表都被删除到单个文件中,所以我试图找出如何通过SSH恢复所有数据库.sql文件一个(或简单的命令),而不是单独恢复所有100个表。
答案 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“,但是你可能想要添加一些有用的标志。)