【发布时间】:2016-07-01 06:13:58
【问题描述】:
我有一个 mysql 数据库列表,我希望使用 linux 脚本从名称以“_abc”结尾的数据库中导出几个表。但是,我不断收到“文件意外结束”错误。
这是我的脚本,其中DB_FILE 是一个文本文件,其中包含以“_abc”结尾的数据库名称。
while read db_name;
do
OUT_FILENAME="${db_name}_table.csv"
mysql -u$MYSQLUSER -p$MYSQLPASS -h $MYSQLHOST $db_name << EOFMYSQL
SELECT * FROM table_abc INTO OUTFILE '$OUT_FILENAME' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
EOFMYSQL
done < $DB_FILE
rm -f $DB_FILE
如果我删除 3 条 MYSQL 行,则脚本运行时不会出错。
另一个问题,如果我有 2 个 SELECT 查询,我是否必须单独运行每个查询,即每个查询都包含在 EOFMYSQL 语句中,或者我可以在一个 EOFMYSQL 块中同时有两个查询?
【问题讨论】:
-
Heredoc 不是这里最好的方法.. 稍后更新
-
对不起,我不太明白你的意思。