在某台DB上准备运行一个SQL语句,就是用SELECT INTO OUTFILE把查询结果写入到文件的时候提示以下信息:
The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
出现这个问题的原因是因为启动MySQL的时候使用了--secure-file-priv
这个参数,这个参数的主要目的就是限制LOAD DATA INFILE
或者SELECT INTO OUTFILE
之类文件的目录位置,我们可以使用
SELECT @@global.secure_file_priv;
查询到你当前设置的路径,默认应该是/var/lib/mysql-files
如果要解决这个问题,我们可以通过下面2种方式:
将你要导入或导出的文件位置指定到你设置的路径里
由于不能动态修改,我们可以修改my.cnf里关于这个选项的配置,然后重启即可。