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)

 

问题重现:

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

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

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

导入全部数据

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

CHARACTER SET gbk

FIELDS TERMINATED BY ‘,’

LINES TERMINATED BY ‘\r\n’;

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

 

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

一、将文件移至相关路径

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

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

show variables like '%secure%';

我们可以看到如下结果:

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

 

二、修改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才能生效。

错误码 1290 表示MySQL服务器正在运行,并且启用了`--secure-file-priv`选项,因此无法执行此操作。这个错误通常出现在尝试读取或写入非当前数据库目录下的文件时。 ### `--secure-file-priv`选项说明: `--secure-file-priv`是一个MySQL配置选项,它允许指定一个目录,在该目录下MySQL可以创建、修改或读取文件。这是为了增加安全性,防止敏感数据暴露给潜在的攻击者。默认情况下,如果服务器未设置此选项,则MySQL可以在其安装目录及其子目录下自由地创建或访问文件。 ### 解决方案: 如果你收到此错误信息,你需要检查以下几个方面来解决问题: 1. **确认路径权限**:确保目标文件所在目录有正确的权限设置,使得MySQL用户有足够的权限读写这些文件。 使用命令行工具如`ls -l`查看文件的权限设置,确保它们允许了文件所有者、组和其他用户所需的执行、读取、写入权限。 2. **更改或禁用`--secure-file-priv`选项**: 如果你的应用程序需要访问特定目录下的文件,你可以考虑暂时禁用这个安全特性。不过请注意,这会降低系统安全性能。修改MySQL配置文件(通常是my.cnf 或 my.ini),将`--secure-file-priv`选项注释掉或者将其值设置为空字符串(``),重启MySQL服务生效。 ``` # 在my.cnf文件中查找并注释或删除下面一行 [--secure-file-priv=/path/to/allowed/files] ``` 3. **更新应用程序**: 确保应用程序能够适应现有的环境限制,例如通过修改脚本或应用逻辑,使其仅操作允许的目录内的文件,或者通过调整文件存储策略来避免跨目录操作。 4. **测试更改**: 保存更改后,重启MySQL服务,然后尝试再次执行引起错误的操作,确保问题已经解决。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值