mysql执行错误 1290_MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-fi...

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当前的值是什么

68f724bad5a33d9a9f6bd2ca7369ecb7.png

SHOW VARIABLES LIKE "secure_file_priv";

结果:

609c9ff9369ed1291ef2bbcce52a726c.png

4a1296086d1d2c6f2e76c8ac9d90706f.png

可以看到,本地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

再查询结果:

1e86a488aefa1d52d3c412a06c2c5b75.png

经验证,导入文件正常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值