#如何解决The MySQL server is running with the --secure-file-priv option so it cannot execute this state

如何解决The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

一、问题

在使用mysql代码将查询结果导出到EXCEL表中时,遇到 “server is running with the --secure-file-priv option so it cannot execute this statement” 报错信息
在这里插入图片描述

二、产生原因

Mysql配置文件规定了导出文件的默认路径,自定义路径会报错。

三、解决办法

1.

输入命令 show variables like 'secure%'

在这里插入图片描述
变量secure_file_priv对应的值就是你电脑上MySQL默认导出文件的路径,笔者电脑的默认路径是C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\,要想修改路径,只需将MySQL配置文件修改,如果不想修改路径,直接用它给的默认路径即可。

2.

将上图路径复制到资源管理器,回车

在这里插入图片描述
查看上一级目录,配置文件my.ini即保存在这里的
在这里插入图片描述
用笔记本打开my.ini,搜索 secure
在这里插入图片描述
找到secure-file-priv,将原本的那行注释掉(用#号),在下面一行写

secure-file-priv=""

在这里插入图片描述
在这里插入图片描述
secure-file-priv=""表示任意路径都可以,也可以自己指定路径。

3.

最关建的一步,Windows在打开配置文件时,会自动修改配置文件的编码格式为UTF-8,而MySQL配置文件的默认编码格式为 ANSI。这一步很重要!!!一定不要搞错,不然会导致MySQL重启失败。 点击 右上方->另存为->ANSI。 是否替换,选择“是”
在这里插入图片描述

4.

最后,重启MySQL服务,点击 开始->搜索组件服务->点击服务->找到mysql->重启此服务
在这里插入图片描述
在这里插入图片描述

四、查看结果

查询成功
在这里插入图片描述