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