防止INTO OUTFILE命令的安全文件专用

时间:2019-01-28 05:18:36

标签: mysql

我正在使用:

SELECT * FROM accounts INTO OUTFILE("C:/Users/Home/Documents/test.txt")

但是我得到了错误:

(db:1290) The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

我没有更改数据库安全性设置的权限,但是想知道是否有一些替代命令可以解决此问题。谢谢

2 个答案:

答案 0 :(得分:1)

这是设计使然。 MySQL secure-file-priv option限制使用LOAD DATA INFILE或SELECT INTO OUTFILE从中读取(或写入的目录)。

您可以使用以下命令显示允许的目录:

SHOW VARIABLES LIKE "secure_file_priv"

然后,您应该将导出指向该目录。

答案 1 :(得分:1)

在您的MySQL服务器的配置中,将此行放在[mysqld]下,然后重新启动服务

secure_file_priv=/tmp/ #the dir you want to put the result file

mysql -s -e 'SELECT * FROM accounts' | cat > /path/to/file