思路一:检查linux的安全策略。
1、查看SELinux状态:/usr/sbin/sestatus-v
2、如果状态为enabled,则为开启状态,将其设置关闭状态,以上截图为设置后的状态:
1)临时关闭setenforce0
2)修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled
3)重启服务器reboot
3、启动mysql服务,还是报错
systemctlstartmysqld
systemctlstatusmysqld.service
思路二:检查目录文件权限。
1、修改以上配置后,还是启动失败,继续查看日志文件:
vim/etc/my.cnf
vim/usr/local/mysql/data/error.log
2、发现/var/lib/mysql/mysql.sock.lock文件没有,创建文件夹,修改群组权限:
mkdir/var/lib/mysql
chownmysql.mysql/var/lib/mysql
3、再次启动mysql,启动成功。
systemctlstartmysqld
systemctlstatusmysqld.service
psaux|grepmysql
总结:可能由于最初安装数据库的时候忽略的一些东西,导致违反SELinux的安全模式,然后目录权限混乱,导致mysql无法创建文件。
SELinux有三种工作模式,分别是:
enforcing:强制模式。违反SELinux规则的行为将被阻止并记录到日志中。
permissive:宽容模式。违反SELinux规则的行为只会记录到日志中。一般为调试用。
disabled:关闭SELinux。
查看数据库安装路径命令:
whereismysql