强制重启Ubuntu服务器后Mysql没法启动

强制重启服务器后启动mysql不断报错误“code=exited“,”failed“,系统建议我执行”systemctl status mysql.service“,执行后什么信息都看不出来,只好找下系统日志看看:php

cat /var/log/syslog

看到了一句有用信息:html

apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7272/status" pid=7272 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=999 ouid=999

看起来像没有权限,我就去权限配置文件node

vi /etc/apparmor.d/usr.sbin.mysqld

把报错的目录加上读权限,即把以下3句加到文件末尾:mysql

/proc/*/status r,
  /sys/devices/system/node/ r,
  /sys/devices/system/node/node0/meminfo r,

再次尝试启动mysql,报出了下面的错误:sql

apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=2693 comm="apparmor_parser"

看到unconfined我就预感日志文件有问题,找到了下面的文章:bash

mysql启动报错:start: Job failed to start服务器

依次执行下面的命令,启动成功app

sudo apt-get install apparmor-utils 

sudo aa-complain /usr/sbin/mysqld 

sudo /etc/init.d/apparmor reload

sudo mv /var/lib/mysql/ib_logfile* /tmp

sudo /etc/init.d/mysql start
相关文章
相关标签/搜索