MySQL进程Error 13(权限拒绝)问题的排查与修复咨询
解决MySQL启动失败的权限问题
问题核心
从你提供的系统状态和错误日志可以确定:
- MySQL进程无权限访问
/var/log/mysql/error.log,导致启动终止 - InnoDB组件无法访问数据目录,同样是权限不足引发的问题
修复步骤
1. 修正MySQL目录/文件的归属与权限
MySQL默认以mysql用户身份运行,需确保日志、数据目录的所有权和权限符合要求:
(1)修复日志目录权限
sudo chown -R mysql:mysql /var/log/mysql sudo chmod -R 750 /var/log/mysql
(2)修复数据目录权限
MySQL默认数据目录为/var/lib/mysql,执行以下命令:
sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 750 /var/lib/mysql
2. 检查安全模块限制
部分系统的安全模块会限制MySQL的文件访问:
- Ubuntu/Debian(AppArmor):
先检查MySQL的AppArmor状态:
若规则异常,重新加载:sudo aa-status | grep mysqlsudo systemctl reload apparmor - CentOS/RHEL(SELinux):
临时关闭SELinux测试(仅用于排查):
若关闭后能启动,添加永久SELinux规则:sudo setenforce 0sudo semanage fcontext -a -t mysqld_db_t "/var/lib/mysql(/.*)?" sudo semanage fcontext -a -t mysqld_log_t "/var/log/mysql(/.*)?" sudo restorecon -Rv /var/lib/mysql /var/log/mysql
3. 重启并验证MySQL服务
sudo systemctl start mysql.service sudo systemctl status mysql.service
4. 排查剩余异常
若仍启动失败,查看完整错误日志:
sudo tail -n 50 /var/log/mysql/error.log
根据新日志信息定位问题。
内容的提问来源于stack exchange,提问作者brothman01
相关产品推荐
相关产品推荐

