我正在对 CentOS 7 VM 上的 MySQL 无启动进行故障排除。看到这一点有点不寻常,因为我们没有进行任何配置更改。手动启动命令取自 systemd 日志记录。错误是古老的:
# /usr/bin/mysqld_safe --basedir=/usr
181221 17:42:49 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
181221 17:42:49 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mariadb/mariadb.log' (Errcode: 13)
根据Red Hat Bugzilla – Bug 1061045,mysql:mysql
需要适当的权限,我们似乎拥有:
[root@ftpit w]# ls -Al /var/log
total 52764
...
drwxrwx--- 2 mysql mysql 4096 Aug 16 11:05 mariadb
和:
[root@ftpit w]# ls -Al /var/log/mariadb/
total 99852
-rw-rw---- 1 mysql mysql 102138776 Dec 21 17:16 mariadb.log
和:
[root@ftpit w]# grep mysql /etc/passwd
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
我也尝试过g-w
,如错误报告中所示。
接下来我应该在哪里查找此错误?或者我该如何解决?
SELinux 是否以强制模式运行?跑去
sestatus
一探究竟。如果是这样,它应该记录到/var/log/audit/
目录。你可以grep mysql /var/log/audit/*
看看是否有任何与“mysql”相关的问题,即MariaDB。此外,日志目录和文件的正确权限和 SELinux 上下文是:
有关如何设置正确的 SELinux 上下文的说明,请参阅文档:如果 MariaDB 无法启动 - SELinux 和 MariaDB 路径更改该怎么办。