MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

最近在学习MySQL,刚入门,在导入数据的时候出现了Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement问题,以下的解决办法:(2017/11/12)

 

问题重现:

一次实验课的任务是导入以下文件到数据库中:

MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

然后就根据老师给的pdf文件中所说的去做:

( 3)导入导出数据(以 employee 表为例):

导入全部数据

LOAD DATA INFILE ‘文件路径/employee.csv’ INTO TABLE employee

CHARACTER SET gbk

FIELDS TERMINATED BY ‘,’

LINES TERMINATED BY ‘\r\n’;

接着就出现了如下图的问题:

 

MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

网上找了一些解决方案,简单的总结一下:

一、将文件移至相关路径

secure-file-priv会指定文件夹作为导出文件存放的地方,那我们可以先找出这个文件夹。

在MySQL命令行界面输入一下指令:

show variables like '%secure%';

我们可以看到如下结果:

MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

可以看到文件路径,我们将导出文件放在该目录下即可。

 MYSQL导入数据出现Error 1290:The MySQL server is running with the --secure-file-priv option so it cannot ex

二、修改my.ini文件

C:\ProgramData\MySQL\MySQL Server 5.7目录下可以看到一个my.ini的文件,那是MySQL的配置文件。值得注意的是路径不是C:\Program Files\MySQL\MySQL Server 5.7(这是启动MySQL sever的路径)

打开配置文件后找到:

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

然后将secure-file-priv这行注释掉使系统允许在其他文件夹使用LOAD等命令。

或者也可以改成其他的路径,将文件放入相应路径即可。

最后修改完之后记得重新启动Mysql才能生效。