MySQL报错
1. The MySQL server is running with the --secure-file-priv option ***
- 问题:secure-file-priv 未配置或配置与当前使用路径冲突。secure-file-priv 参数是用来限制 mysql 下数据导入导出只能发生的路径下。
| secure-file-priv 参数值 | 说明 |
|---|---|
| ‘’ | 表示 mysqld 允许在任何路径下导入导出 |
| null | 表示 mysqld 不允许导入导出 |
| path | 表示 mysqld 允许导入导出只能在 path 路径下 |
- 解决:找到配置文件
my.cnf(Linux 下一般为/etc/mysql/my.cnf)或my.ini(Windows 下一般为C:\ProgramData\MySQL\MySQL Server x.y\my.ini,x.y 为 mysql 版本号),添加以下内容:
1 | [mysqld] # 文件中有则不用添加这句,只需将下面语句追加到 [mysql] 限定的部分的末尾即可 |
然后重启 mysql (Linux 下在终端运行 sudo service mysql restart,Windows 下在 CMD 下先运行 net stop mysql 后运行 net start mysql)。
2. Found option without preceding group in config file ***
- 问题修改了配置文件
my.cnf(Linux)或my.ini(Windows)时并未指定组。比如 1 中在配置文件中添加的secure_file_priv=''需指定组[mysql]。 - 解决,将对应修改限定到对应组中。
3. ERROR 1045 (28000): Access denied for user ‘xxx’@‘localhost’ (using password: NO)
- 问题:权限检查问题
- 解决:使用超级用户权限登录,比如:Linux 下
sudo mysql -h localhost -u root -p,Windows 下以管理员身份登录 CMD ,然后mysql -h localhost -u root -p。或者修改配置文件,跳过权限检查:找到配置文件my.cnf(Linux 下一般为/etc/mysql/my.cnf)或my.ini(Windows 下一般为C:\ProgramData\MySQL\MySQL Server x.y\my.ini,在组[mysqld]下添加一行命令:
1 | skip-grant-tables |
然后保存退出,重启 mysql(Linux 下在终端运行 sudo service mysql restart,Windows 下在 CMD 下先运行 net stop mysql 后运行 net start mysql)。
4. ERROR 29 (HY000): File ‘xxx’ not found (OS errno 13 - Permission denied)
- 问题:访问权限问题
- 解决:修改文件
/etc/apparmor.d/usr.sbin.mysqld,仿照其中内容添加该文件所在目录的权限,比如:
1 | # Allow access to home |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 お前はどこまで見えている!
评论
WalineTwikoo








