更新后无法启动mysql服务器

今天我更新了系统,我无法启动mysql服务器:

我收到以下错误:

Aug 14 14:32:09 VULTURUS kernel: [ 1996.413190] init: mysql main process (14122) terminated with status 1 Aug 14 14:32:09 VULTURUS kernel: [ 1996.413262] init: mysql main process ended, respawning Aug 14 14:32:10 VULTURUS kernel: [ 1997.373479] init: mysql post-start process (14123) terminated with status 1 Aug 14 14:32:10 VULTURUS kernel: [ 1997.391012] type=1400 audit(1344947530.964:242): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=14156 comm="apparmor_parser" Aug 14 14:32:11 VULTURUS kernel: [ 1997.453824] type=1400 audit(1344947531.028:243): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/mysqld" name="/media/WESYS_DATA/MySql_LX/" pid=14160 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=115 ouid=0 Aug 14 14:32:11 VULTURUS kernel: [ 1997.456707] init: mysql main process (14160) terminated with status 1 Aug 14 14:32:11 VULTURUS kernel: [ 1997.456775] init: mysql respawning too fast, stopped 

但我已经在/etc/apparmor.d/usr.sbin.mysqld中添加了exception

 # vim:syntax=apparmor # Last Modified: Tue Jun 19 17:37:30 2007 #include  /usr/sbin/mysqld { #include  #include  #include  #include  #include  capability dac_override, capability sys_resource, capability setgid, capability setuid, network tcp, /etc/hosts.allow r, /etc/hosts.deny r, /etc/mysql/*.pem r, /etc/mysql/conf.d/ r, /etc/mysql/conf.d/* r, /etc/mysql/*.cnf r, /usr/lib/mysql/plugin/ r, /usr/lib/mysql/plugin/*.so* mr, /usr/sbin/mysqld mr, /usr/share/mysql/** r, /var/log/mysql.log rw, /var/log/mysql.err rw, /var/lib/mysql/ r, /var/lib/mysql/** rwk, /var/log/mysql/ r, /var/log/mysql/* rw, /var/run/mysqld/mysqld.pid w, /var/run/mysqld/mysqld.sock w, /run/mysqld/mysqld.pid w, /run/mysqld/mysqld.sock w, /sys/devices/system/cpu/ r, /media/WESYS_DATA/MySql_LX/** rwk, /media/WESYS_DATA/MySql_LX/** rwk, # Site-specific additions and overrides. See local/README for details. #include  } 

/etc/apparmor.d/usr.sbin.mysqld中的以下两行重叠。

 /media/WESYS_DATA/MySql_LX/** rwk, /media/WESYS_DATA/MySql_LX/** rwk, 

将这些行替换为以下行时,您的问题可能会得到解决。

 /media/WESYS_DATA/MySql_LX/ r, /media/WESYS_DATA/MySql_LX/** rwk, 

就我而言,消息:

 mysql respawning too fast 

我在syslog发现这是因为我已经删除了apparmor,但忘了重启我的服务器。

重新启动我的服务器后,mysql启动正常。

在我的情况下,从11.04到11.10的Ubuntu更新发生了无限循环(并且安装没有继续):

 Sep 24 21:50:05 soft kernel: [ 4926.795768] type=1400 audit(1380048605.174:160): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=10215 comm="apparmor_parser" Sep 24 21:50:05 soft kernel: [ 4926.954977] type=1400 audit(1380048605.334:161): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/mysqld" name="/srv/mysql/soft.lower-test" pid=10219 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 Sep 24 21:50:05 soft kernel: [ 4926.955011] type=1400 audit(1380048605.334:162): apparmor="DENIED" operation="mknod" parent=1 profile="/usr/sbin/mysqld" name="/srv/mysql/soft.lower-test" pid=10219 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 Sep 24 21:50:05 soft kernel: [ 4927.043602] type=1400 audit(1380048605.424:163): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/mysqld" name="/srv/mysql/mysql/plugin.frm" pid=10219 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=102 ouid=102 Sep 24 21:50:05 soft kernel: [ 4927.087869] type=1400 audit(1380048605.464:164): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/mysqld" name="/srv/mysql/ibdata1" pid=10219 comm="mysqld" requested_mask="rw" denied_mask="rw" fsuid=102 ouid=102 Sep 24 21:50:05 soft init: mysql main process (10219) terminated with status 1 

解决方案:我在单独的窗口中登录

 sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start 

然后跟着syslog注意到安装继续正常。

在启用查询慢速日志后,我遇到了错误。 事实certificate, mysqld.conf模板中的变量名已从mysqld.conf更改,现在应该是

slow-query-log-file = /var/log...

感谢https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1610765/comments/35