.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
ls -1 *.sql | awk '{ print "source",$0 }' | mysql --batch -u {username} -p{password} {dbname}
,因为我将我的 SQL 文件按顺序进行了命名,希望按照这个顺序依次执行它们。 - Arul Kumaranls -1 *.sql | awk '{ print "source",$0 }' | mysql --batch -u {username} -p {dbname}
让它正常工作。密码需要在控制台中实际提示输入时输入,而不是在命令本身中输入。MySQL 不接受命令中的密码。 - Satya Kalluri--password=PA55w0rd
而不是-p
,你可以在命令行上输入密码。虽然我已经有一段时间没有玩过 MySQL 了,但我相当确定这会起作用。 - D.Shawleymysql -u me -pPA55w0rd
。 - David Woods