思路一:检查linux的安全策略。

1、查看SELinux状态:/usr/sbin/sestatus -v

服务器重启mysql无法启动(服务器异常重启)(1)

2、如果状态为enabled,则为开启状态,将其设置关闭状态,以上截图为设置后的状态:

1)临时关闭 setenforce 0

2)修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled

3)重启服务器 reboot

3、启动mysql服务,还是报错

systemctl start mysqld

systemctl status mysqld.service

服务器重启mysql无法启动(服务器异常重启)(2)

思路二:检查目录文件权限。

1、修改以上配置后,还是启动失败,继续查看日志文件:

vim /etc/my.cnf

vim /usr/local/mysql/data/error.log

2、发现/var/lib/mysql/mysql.sock.lock文件没有,创建文件夹,修改群组权限:

mkdir /var/lib/mysql

chown mysql.mysql /var/lib/mysql

服务器重启mysql无法启动(服务器异常重启)(3)

3、再次启动mysql,启动成功。

systemctl start mysqldsystemctl status mysqld.service

服务器重启mysql无法启动(服务器异常重启)(4)

ps aux|grep mysql

服务器重启mysql无法启动(服务器异常重启)(5)

总结:可能由于最初安装数据库的时候忽略的一些东西,导致违反SELinux的安全模式,然后目录权限混乱,导致mysql无法创建文件。

SELinux 有三种工作模式,分别是:

enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。

permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。

disabled:关闭 SELinux。

查看数据库安装路径命令:

whereis mysql

服务器重启mysql无法启动(服务器异常重启)(6)

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

咱们下期见。

服务器重启mysql无法启动(服务器异常重启)(7)

原文出处:https://blog.csdn.net/sunqiang4/article/details/119878128

,