在有LAMP的CentOS服务器上,我有一个包含10-20个SQL转储文件的文件夹。 有没有一种方法(单行查询),我可以导入所有这些?
我尝试了以下内容:
login腻子,导航到所有SQL转储文件说(文件夹mysqlallfile )
mysqlallfile包含: 1.sql.gz , 2.sql.gz等等
我创buildsh文件说bulkimport.sh
#!/bin/sh for filename in *.gz; do tempfile="${filename##*/}" database_name="${tempfile%%.*}" echo $database_name mysql -pPASS -u USER -e "CREATE DATABASE $database_name" gzcat $filename | mysql -pPASS -uUSER $database_name done
我在terminal下面运行命令:
bash bulkimport.sh
它返回错误:
bulkimport.sh: line 2: syntax error near unexpected token `$'\r'' 'ulkimport.sh: line 2: `for filename in *.gz;
脚本文件中可能有Windows行结尾(或其他编码错误)。 可以在Windows编辑器中用Unix行结尾保存文件,然后将脚本复制到服务器,或者使用其中一个选项在Linux中进行转换(例如dos2unix , recode , vim )。