我有一个目录,里面有一堆 .sql
文件,mysql 在我的服务器上转储每个数据库。
例如
database1-2011-01-15.sql
database2-2011-01-15.sql
...
实际上有很多。
我需要创建一个可能会导入每个数据库的 shell 脚本或单行代码。
我在 Linux Debian 机器上运行。
我认为有某种方法可以将 ls 的结果通过管道传输到某些 find 命令或其他东西中......
非常感谢任何帮助和教育。
编辑
所以最终我想一次自动将一个文件导入数据库。
例如如果我手动完成它会是:
mysql -u root -ppassword < database1-2011-01-15.sql
最佳答案
cat *.sql | mysql
?你需要它们以任何特定的顺序吗?
如果您有太多的方法无法处理,请尝试以下方法:
find . -name '*.sql' | awk '{ print "source",$0 }' | mysql --batch
这也解决了通过管道传递脚本输入的一些问题,尽管在 Linux 下的管道处理应该没有任何问题。这种方法的好处是 mysql
实用程序读取每个文件,而不是从 stdin
读取它。
关于mysql - 从 shell 将多个 .sql 转储文件导入 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708013/