mysql 无法启动 Ubuntu 16.04.2 x64

mysql wont start Ubuntu 16.04.2 x64

因此 MySQL 在服务器重启后不会 restart/start。未编辑任何配置文件/进行任何更改。 我遇到与此 question 相同的问题,其中 apparmor 导致这些日志条目:

Sep 27 11:18:53 staging audit[2986]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/2986/status" pid=2986 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Sep 27 11:18:53 staging audit[2986]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=2986 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=0
Sep 27 11:18:53 staging audit[2986]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/2986/status" pid=2986 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112

当这些例外被添加到 /etc/apparmor.d/usr.sbin.mysqld 如:

# fix issue with mysql not restarting
  /proc/*/status r,
  /sys/devices/system/node/ r,
  /sys/devices/system/node/node0/meminfo r,
# Allow network access

然后作为 root 用户:service apparmor reload; service mysql restart;

日志现在只显示:

Sep 27 11:25:10 staging systemd[1]: Failed to start MySQL Community Server.
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysql.service has failed.
-- 
-- The result is failed.
Sep 27 11:25:10 staging systemd[1]: mysql.service: Unit entered failed state.
Sep 27 11:25:10 staging systemd[1]: mysql.service: Failed with result 'exit-code'.
Sep 27 11:25:10 staging systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Sep 27 11:25:10 staging systemd[1]: Stopped MySQL Community Server.
-- Subject: Unit mysql.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysql.service has finished shutting down.
Sep 27 11:25:10 staging systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysql.service has begun starting up.
Sep 27 11:25:11 staging systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

我没有进行任何配置更改,所以我真的不知道该去哪里查看。我打算重新安装 MySQL,但是,我有没有备份的数据 :( 请帮助

你试过 ubuntu 16.04 及更高版本

  sudo systemctl start mysql

所以我设法让它工作了,虽然我不知道它是如何工作的,但我 运行: apt-get remove mysql*; apt-get install mysql-server mysql-client ; 第一次还是无法启动mysql。然后我又 运行 它又 mysql 又开始工作了。我还能够删除以下行:

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

来自 /etc/apparmor.d/usr.sbin.mysqld 并重新加载了装甲。