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