ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement.
今天做MySQL实验,导入文件的时候出现了这个错误,之后百度教程,结果一步步导致错误越来越多,实验做了一半,剩下的时间都用来改配置了,刚刚自己摸索了半天终于把错误解决了,于是决定写出自己的第一个博客,希望能给遇到这个错误的朋友节省时间。
首先在MySQL中输入 show variables like ‘%secure%’;查看 secure-file-priv 当前的值是什么;
有些人是null,有些人是默认路径。null代表不能导出,默认路径代表只能在这个路径导出。我的一开始是默认路径。
mysql> show variables like '%secure%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | ON |
| secure_file_priv | NULL |
+------------------+-------+
2 rows in set (0.00 sec)
mysql>
show variables like '%secure%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_auth | ON |
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 8.0\upload |
+------------------+-------+
2 rows in set (0.00 sec)
上图所示 MySQL 默认的值为:secure-file-priv=“C:/ProgramData/MySQL/MySQL Server 8.0/Upload”
重点1
找到配置路径修改文件导入的地址
我们安装完 MySQL 之后,会自动生成一个名为my.ini的配置文件,该文件记录了 MySQL 的所有默认配置,如端口号、默认字符集、默认存储引擎等等。而这个配置文件,则位于隐藏文件夹ProgramData中,至于如何找到该隐藏文件夹,只需要你打开C盘,在文件夹上面有一个“查看”,点击后找到图实例中的红圈,前面打上对勾就可以了。
出现了隐藏文件
然后按照这个路径依次点击 C:\Program Files\MySQL\MySQL Server 8.0 就出现了my.ini文件
点进去找到 secure-file-priv,像我一样把引号中间的东西删掉就行,记住 连空格都不要,因为空格导致了我后面更多的错误!!! 空路径表示所有文件夹都可导入。
重点2
修改配置后,我们必须关闭 MySQL 然后重新启动。在这里,需要我们注意的是:关闭 MySQL 并不是指简单的用exit命令退出 MySQL 或者关闭 MySQL 窗口,而是关闭 MySQL 服务,重新启动服务。
方法:打开我的电脑-右击此电脑-管理
找到下面的箭头处,点击,然后在右边找到MySQL80(不同版本后面数字不一样,但是方法一样)
找到MySQL80后,右击,找到重新启动,然后重启成功就解决了。
如果重启不成功,可以看这个教程超详细 文件导入错误看这个就足够!!MYSQL导入数据出现secure-file-priv 附带 出现MySQL80服务启动后停止的教程!!
也是我自己总结的。