【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option

问题背景

我想将txt文件中的数据导入到数据库中,但是出现报错:
在这里插入图片描述
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

问题原因

出现这个问题的原因是mysql的secure_file_priv这个选项没有开启,或者这个选择了特定的文件路径,只有在这个路径下的文件才能导入导出mysql。

解决方式

首先在mysql环境下使用show variables like "secure_file_priv";查看一下这个变量的参数:
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第1张图片我这里这个参数的值是null,说明mysql中就没有设置secure_file_priv这个选项。如果这个参数是个特定的文件路径,就说明文件只有在这个路径下才能将它导入导出到mysql。参数secure_file_priv的值及含义如下:

secure_file_priv值 含义
NULL 禁止文件的导入导出
‘’ (空字符串)允许所有文件的导入导出
一个特定的路径地址 只有该路径地址下的文件可以导入导出到mysql

现在我们来设置一下这个选项。找到mysql安装包下的my.ini文件:
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第2张图片
使用文本编辑器打开这个文件,然后在[mysqld]这个选项下加入变量声明:

secure_file_priv=''

注意,是在[mysqld]这个选项下面加入上面的声明。加入完成的my.ini文件内容如下:
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第3张图片


然后我们需要重启一下mysql服务
右击我的电脑,选择【管理】选项:
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第4张图片
进入到管理页面后选择【服务与应用】下的服务,找到mysql,关闭一下mysql再打开一下mysql就相当于重启它了。
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第5张图片

重启mysql之后我们再次打开mysql,输入show variables like 'secure_file_priv'; 就可以看到:
【MySQL】ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option_第6张图片
这个选项的值不是null了,这个表示secure_file_priv的值为空。
然后现在就可以导入导出数据了。

你可能感兴趣的:(MySQL)