报错Error Code: 1290

报错Error Code:1290. The MySQL server is running with the --secure-file-priv option

解决My SQL 中:Error Code:1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

这是因为在mysql中如果想要导入外部格式的数据文件,比如说csv文件,就需要先把这些文件放到mysql认为的安全路径下,才能上传成功这也是出于对用户的保护如果想要成功读取外部文件,就有两种思路一种思路是将csv文件放到默认的数据安全路径下。

第二种思路就是将数据安全路径参数设定为空,允许导入任意路径下的文件接下来我们先讲第一种思路如何查看你的安全路径是哪呢?可以按照如下的步骤操作一下:1.点击开始,启动mysql程序2.接下来查看mysql默认的安全路径。

输入show variables like securefilepriv;然后回车,注意这里的分号不要忘记,因为这是mysql内部语法得到的结果如下图:可以看到安全路径如图所示,把要导入的csv文件放到这个路径下就可以成功导入了。

然后我们再看第二种思路1.我们修改配置文件我们的配置文件是一个名字为my.ini的文件,这里面有关于众多参数的定义用记事本方式或者notepad++打开C:\ProgramData\MySQL\MySQL Server 8.0下面的my.ini文件,我们搜索secure(注意不要搜securefilepriv,否则你搜不到),搜索结果如下:

# Secure File Priv.secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"这里在我们的搜索结果里,我看到只有这一处出现了给secure-file-priv赋值的情况,其他地方没有出现,因此我们只需要改这一个地方的值,肯定正确,我们往上翻看,会发现这这个赋值是出现在[mysqld]的下面,如果你的这个赋值在文中多次出现,并且有的赋值在[mysqld]下面,有的不在,那请你修改[mysqld]下面的secure-file-priv值。

我这里情况就比较简单了,我们进行如下修改然后保存这个文件,并且关闭这个文件secure-file-priv=""注意这里仅仅是修改了这个文本文件,但这个修改还没有真正起作用,如果你用show 命令去看变量securefilepriv的值,还是以前的路径值,如何让我们这个修改生效呢。

首先打开我们的mysql服务列表,然后查看那个mysql服务是与这个my.ini文件关联的,也就是看哪个mysql服务是根据这个my.ini文件进行配置的到了mysql服务列表页面我们选择一个mysql服务,然后右键点击选择属性,可以看到这个服务的关联ini文件。

2.找到目前启动的mysql服务如何查看你当前的电脑启动了哪些服务,请参考我其他帖

可以看到目前启动的是MySQL80服务,我们看下这个服务关联的ini文件是哪个可执行文件的路径取值如下:"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe"--defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

从而可以看出这个mysql80服务对应的ini配置文件,就是我们前面修改的my.ini配置文件3.关闭mysql

主题测试文章,只做测试使用。发布者:西亚卡门,转转请注明出处:http://www.301seo.cn/index.php?m=home&c=View&a=index&aid=10883

联系我们

在线咨询:点击这里给我发消息

邮件:209087445@qq.com