Mysql将不再启动

Arj*_*jan 4 mysql ubuntu

我想再次查看我的logserver,但突然间我在访问url时收到此消息:

我在ubuntu xenial上运行

致命:无法连接到'localhost'上的MySQL服务器.请确保在'include/config.php'中指定了有效的MySQL数据库名称

当我做journalctl -xe时,我得到以下消息:

-- Unit mysql.service has begun starting up.
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=0

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:69): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" 
name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_m

Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:70): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r"

Jun 15 19:26:12 arjanlog kernel: audit: type=1400 audit(1497547572.504:71): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_m

Jun 15 19:26:12 arjanlog systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Run Code Online (Sandbox Code Playgroud)

Pau*_*rth 9

我也有这个问题并通过修复apparmor配置文件来解决它/etc/apparmor.d/usr.sbin.mysqld.我添加了这些行:

  /proc/*/status r,
  /sys/devices/system/node/ r,
  /sys/devices/system/node/node0/meminfo r,
Run Code Online (Sandbox Code Playgroud)

您的journalctl -xe输出显示MySQL需要使用的文件.您还可以查看/var/log/syslog:

Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=0
Jun 15 19:26:12 arjanlog audit[3665]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/3665/status" pid=3665 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=112 ouid=112
Run Code Online (Sandbox Code Playgroud)

这意味着那/usr/sbin/mysqldDENIED试图打开/proc/3665/status/sys/devices/system/node/阅读(r).

请注意,在apparmor配置文件中/sys/devices/system/node/,必须使用尾部斜杠,因此请不要将其关闭!


Arj*_*jan -3

解决方法: sudo service apparmor 拆解