asd_op
水手008
采纳率0%
2017-04-06 11:26 阅读 2.6k

使用mysql load data infile导入csv数据,总是报错

8

问题:
命令行登录mysql,使用load data infile命令导入csv数据报错:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement;如图:
图片说明

我已经在my.ini配置文件里写上了secure-file-priv参数,如图:
图片说明

为什么还是出错呢?请知道的各位解答一下,多谢了!

系统环境:win10,mysql5.7.16

全部家当8个金币求解:-)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • oyljerry oyljerry 2017-04-06 11:54

    把secure-file-priv那一行在配置文件中注释

    点赞 评论 复制链接分享
  • asd_op 水手008 2017-04-06 12:09

    注释掉不行,出同样的错误。

    下面是通过show命令显示的变量值:
    mysql> show variables like '%secure_file_priv%';
    +------------------+-------+
    | Variable_name | Value |
    +------------------+-------+
    | secure_file_priv | NULL |
    +------------------+-------+
    1 row in set, 1 warning (0.00 sec)

    点赞 评论 复制链接分享
  • asd_op 水手008 2017-04-06 12:52

    问题找到了,下面解答:

    出现错误的写法:load data infile 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv'

    1:load data infile 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv'
    2:load data infile 'C:/imi/dev/mysql-5.7.16-winx64/bin/tmp/ds-20170405.csv'
    1,2这两种写法均能导入。

    分析,大家仔细观察在我的文件路径中有一个tmp文件夹,如果写成 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv'这种形式,load data infile命令会把这个路径字符串中的]"\tmp"中的\t作为tab,所以实际上传给mysql的路径是C:\imi\dev\mysql-5.7.16-winx64\bin(这里是一个tab空格)mp\ds-20170405.csv,很明显这个路径不存在且不是配置里的路径,所以总是报The MySQL server is running with the --secure-file-priv option so it cannot execute this statement错误。
    为了避免这种情况需要使用双斜线进行转义:1:load data infile 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv';
    或者使用linux路径的正斜线写法:1:load data infile 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv'

    点赞 评论 复制链接分享
  • asd_op 水手008 2017-04-06 13:03

    更正:1中写法应该是用两个反斜线进行转义:load data infile 'C:\imi\dev\mysql-5.7.16-winx64\bin\tmp\ds-20170405.csv'

    点赞 评论 复制链接分享
  • asd_op 水手008 2017-04-06 13:04

    我靠,csdn又把两个反斜线变成一个了:

    更正:1中写法应该是用两个反斜线进行转义:load data infile 'C:\\imi\\dev\\mysql-5.7.16-winx64\\bin\\tmp\\ds-20170405.csv'

    点赞 评论 复制链接分享
  • asd_op 水手008 2017-04-06 13:10

    给个图:

    图片说明

    图片说明

    点赞 评论 复制链接分享

相关推荐