我写了一个test.sh代码,它从MySQL服务器获取数据。使用的版本是5.6.36。
用于从MYSQL导出数据的命令如下:
cmd="mysqldump -h $DB_HOST --port=<> -u $DB_USER -p$DB_PASS --single-transaction --skip-lock-tables --fields-enclosed-by=\\\" --fields-terminated-by=, -T$TARGET_PATH/$dt/$DB_SCHEMA $DB_SCHEMA ${ary[$TABLE]} --where=\"date($DATE_FILED)='$prevdt'\""
代码无法从MySql中获取数据,并引发如下错误:
错误:
1290:MySQL服务器正在使用--secure-file-priv选项运行,因此在执行“ SELECT INTO OUTFILE”时无法执行该语句
我根据针对类似问题的链接进行了检查。
secure_file_priv设置为此路径
选择@@ global.secure_file_priv;
输出为:/ var / mysql / dump /
类似于“ secure_file_priv”的显示变量;
输出为:/ var / mysql / dump /
也在/etc/my.cnf路径中检查了配置。
由于已经设置了从MYSQL导入和导出到.csv文件的路径,因此我们不希望对此my.cnf文件进行任何更改。 正如许多人提到的那样更改配置并使用以下设置禁用: secure_file_priv =“”(但我不想禁用该设置)。