MYSQL导入数据出现:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

【1】分析原因

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

其实原因很简单,因为在安装MySQL的时候限制了导入与导出的目录权限。只允许在规定的目录下才能导入。

可以通过以下命令查看secure-file-priv当前的值是什么

SHOW VARIABLES LIKE "secure_file_priv";

结果:

Mysql 导入文件提示 --secure-file-priv option 问题 随笔 第1张

可以看到,本地value的值为NULL。NULL代表什么意思呢?经查资料:

(1)NULL,表示禁止。

(2)如果value值有文件夹目录,则表示只允许该目录下文件(PS:测试子目录也不行)。

(3)如果为空,则表示不限制目录。

【2】解决方案

问题原因找到了,解决方案因业务需求而定。

方法一:

把导入文件放入secure-file-priv目前的value值对应路径即可。

方案二:

把secure-file-priv的value值修改为准备导入文件的放置路径。

方案三:修改配置

去掉导入的目录限制。可修改mysql配置文件(Windows下为my.ini, Linux下的my.cnf),在[mysqld]下面,查看是否有:

secure_file_priv =

如上这样一行内容,如果没有,则手动添加。

secure_file_priv = /home 

如上,这样一行内容,表示限制为/home文件夹

secure_file_priv =

如上,这样一行内容,表示不限制目录,等号一定要有,否则mysql无法启动。

修改完配置文件后,重启mysql生效。

重启后,再查询结果:

Mysql 导入文件提示 --secure-file-priv option 问题 随笔 第2张

经验证,导入文件正常。

 

Good Good Study, Day Day Up.

顺序 选择 循环 总结

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄