我有一个包含一堆.sql文件的目录,这些文件由mysql转储到服务器上的每个数据库。
.sql
例如
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?您是否需要任何特定的顺序?
cat *.sql | mysql
如果您有太多方法无法处理,请尝试以下方法:
find . -name '*.sql' | awk '{ print "source",$0 }' | mysql --batch
尽管通过Linux在管道处理中应该没有问题,但通过管道传递脚本输入也解决了一些问题。这种方法的好处是mysql实用程序读取每个文件,而不是从中读取文件stdin。
mysql
stdin