1、systemctl start mysqld启动时出现如下提示

20190228072128252.png

2、tail /var/log/messages 没有看到什么有价值的信息

3、vim /var/audit/audit/audit.log

按shift+G跳转到最后一行,看到最近的信息,

 watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnllNTQ2MQ==,size_16,color_FFFFFF,t_70

这里可以看到是因为mysql/ibdata1的当前源安全上下文和目标安全上下文不一致造成的,那应该怎么处理呢?

最简单的解决办法是永久关闭selinux,但selinux是一个安全防线不想用这个方法来解决问题。

4、安装setroubleshoot  软件包,使用sealert命令分析审计日志以提供解决意见

 (1)、yum -y install setroubleshoot 

  (2)、 sealert -a /var/log/audit/audit.log

显示如下

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnllNTQ2MQ==,size_16,color_FFFFFF,t_70

 

里面建议使用命令restorecon -v /var/lib/mysql/ibdata1来解决这个问题, 这个语句可以解决当前问题,不过可能还会有其他文件还会有类似的问题,

所以执行restorecon -vr /var/lib/mysql 更合适,执行后显示如下

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnllNTQ2MQ==,size_16,color_FFFFFF,t_70

上图中可以看到/var/lib/mysql文件夹以及子文件和文件夹的安全上下文都不符合默认的安全上下文,都已经被修改成合适的了。

再次执行systemctl start mysqld   ,成功启动mysql.


王建野
0 声望0 粉丝