zoukankan      html  css  js  c++  java
  • Mysql 导入文件提示 --secure-file-priv option 问题

    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

    再查询结果:

    经验证,导入文件正常。

    Good Good Study, Day Day Up.

    顺序 选择 循环 总结

  • 相关阅读:
    《MySQL入门很简单》练习7.4
    《MySQL入门很简单》练习6.9
    《MySQL入门很简单》练习6.6
    《MySQL入门很简单》练习6.5
    "mysql"不是内部或外部命令,也不是可运行的程序或批处理文件
    TControl与Windows消息
    TObject与消息分发
    长串
    使用TSplitter控件调整其他控件大小简便方法
    Cocos2d-x缓存机制(一)
  • 原文地址:https://www.cnblogs.com/Braveliu/p/10728162.html
Copyright © 2011-2022 走看看