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

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

f6167a40a51dc7a7af078ec860602caa.png

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

1)临时关闭 setenforce 0

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

3)重启服务器 reboot

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

systemctl start mysqld

systemctl status mysqld.service

7dffa94b21c020f9a60f0b0d113d4964.png

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

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

c774aeddb49dfd9d96131d457ea72032.png

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

systemctl start mysqld

systemctl status mysqld.service

5df18993695665f82f7547358c09896c.png

ps aux|grep mysql

f12c6419d33a27c7c97ba4550d0eb910.png

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

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

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

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

3. disabled:关闭 SELinux。

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

whereis mysql
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐