MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.
MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290):
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.
【1】分析原因
其实原因很简单,因为在安装MySQL的时候限制了导入与导出的目录权限。只允许在规定的目录下才能导入。
可以通过以下命令查看secure-file-priv当前的值是什么
SHOW VARIABLES LIKE "secure_file_priv";
结果:
可以看到,本地value的值为NULL。NULL代表什么意思呢?经查资料:
(1)NULL,表示禁止。
(2)如果value值有文件夹目录,则表示只允许该目录下文件(PS:测试子目录也不行)。
(3)如果为空,则表示不限制目录。
【2】解决方案
问题原因找到了,解决方案因业务需求而定。
(1)方案一:
把导入文件放入secure-file-priv目前的value值对应路径即可。
(2)方案二:
把secure-file-priv的value值修改为准备导入文件的放置路径。
(3)方案三:修改配置
去掉导入的目录限制。可修改mysql配置文件(Windows下为my.ini, Linux下的my.cnf),在[mysqld]下面,查看是否有:
secure_file_priv =
如上这样一行内容,如果没有,则手动添加。如果存在如下行:
secure_file_priv = /home
这样一行内容,表示限制为/home文件夹。而如下行:
secure_file_priv =
这样一行内容,表示不限制目录,等号一定要有,否则mysql无法启动。
修改完配置文件后,重启mysql生效。
重启后:
关闭:service mysqld stop
启动:service mysqld start
再查询结果:
经验证,导入文件正常。
![](https://images.cnblogs.com/cnblogs_com/isme-zjh/1665628/t_200309175526zhifubao.png?a=1583807649478)
您的资助是我最大的动力!
金额随意,欢迎来赏!