1. 程式人生 > >強制重啟Ubuntu伺服器後Mysql無法啟動

強制重啟Ubuntu伺服器後Mysql無法啟動

強制重啟伺服器後啟動mysql不斷報錯誤“code=exited“,”failed“,系統建議我執行”systemctl status mysql.service“,執行後什麼資訊都看不出來,只好找下系統日誌看看:

cat /var/log/syslog

看到了一句有用資訊:

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

看起來像沒有許可權,我就去許可權配置檔案

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

把報錯的目錄加上讀許可權,即把如下3句加到檔案末尾:

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

再次嘗試啟動mysql,報出了下面的錯誤:

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

看到unconfined我就預感日誌檔案有問題,找到了下面的文章:

mysql啟動報錯:start: Job failed to start

依次執行下面的命令,啟動成功

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