mysql 报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it ca

mysql 报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

这个问题是由于不允许导入导出文件引起的错误,如果使用命令查看:

show global variables like '%secure_file_priv%';

就能看到此时是这样的:

解决办法:

 

1.修改my.ini(我的这个文件的位置是C:\ProgramData\MySQL\MySQL Server 8.0\my.ini,注意可能是隐藏文件)

添加secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"(就是要导入的文件所在位置)

网上说设成空好像可以任意导入导出,

secure_file_priv=''

我这里修改了半天my.ini都不能保存,右键也修改不了安全设置,最后的解决方法是:

先以管理员身份运行记事本,然后再打开my.ini,这样修改之后就可以保存了。

2.重启mysql服务

我的电脑-->右键 【管理】-->【服务】-->重启动mysql服务

3.不知道大家重启后行了不,如果可以了就……鼓掌。不行的话可能是这个毛病

就是这里没有设置:

这里不设置一下的话,mysql的启动就不会加载那个my.ini配置文件,所以上面的重启也是无效的了。

如何设置?

Win+R 弹出运行窗口,输入 regedit

在注册表编辑器依次打开:HKEY_LOCAL_MACHINE---->SYSTEM---->CurrentControlSet---->Services---->MySQL

根据路径找到 ImagePath,双击,弹出编辑字符串

我这里原来应该是"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"   MySQL

现在把它换成:

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"  --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL

中间的那个路径就是my.ini所在路径。然后确定。再次按照第2步重启mysql服务,终于ok:

现在要导入这个路径下的文件也可以了:

参考:

https://zhuanlan.zhihu.com/p/181675602

https://blog.csdn.net/jav0a0/article/details/90712089