mysql 文件夹重新定位后 Apparmor 出现错误

mysql 文件夹重新定位后 Apparmor 出现错误

我重新定位了 mysql 文件夹。我使用了此链接

我无法启动 mysql 服务,并且出现此错误消息

Unit mysql.service has begun starting up.
Aug 26 02:53:19 ubuntu audit[1345]: AVC **apparmor="DENIED**" operation="open" profi                                                 le="/usr/sbin/mysqld" name="/proc/1345/status" pid=1345 comm="mysqld" requested_                                                 mask="r" denied_mask="r" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.505:43): apparm                                                 or="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1345/status"                                                  pid=1345 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="open" profi                                                 le="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=1345 comm="mysqld" re                                                 quested_mask="r" denied_mask="r" fsuid=109 ouid=0
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="open" profi                                                 le="/usr/sbin/mysqld" name="/proc/1345/status" pid=1345 comm="mysqld" requested_                                                 mask="r" denied_mask="r" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.513:44): apparm                                                 or="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/syste                                                 m/node/" pid=1345 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=109 oui                                                 d=0
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.513:45): apparm                                                 or="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/1345/status"                                                  pid=1345 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="mknod" prof                                                 ile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower-test" pid=1345 comm="mysqld" requ                                                 ested_mask="c" denied_mask="c" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="mknod" prof                                                 ile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower-test" pid=1345 comm="mysqld" requ                                                 ested_mask="c" denied_mask="c" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.661:46): apparm                                                 or="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower                                                 -test" pid=1345 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=109 ouid=                                                 109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.661:47): apparm                                                 or="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower                                                 -test" pid=1345 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=109 ouid=                                                 109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.665:48): apparm                                                 or="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower                                                 -test" pid=1345 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=109 ouid=                                                 109
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="mknod" prof                                                 ile="/usr/sbin/mysqld" name="/ssd/ubuntu.lower-test" pid=1345 comm="mysqld" requ                                                 ested_mask="c" denied_mask="c" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu audit[1345]: AVC apparmor="DENIED" operation="mknod" prof                                                 ile="/usr/sbin/mysqld" name="/ssd/ibdata1" pid=1345 comm="mysqld" requested_mask                                                 ="c" denied_mask="c" fsuid=109 ouid=109
Aug 26 02:53:19 ubuntu kernel: audit: type=1400 audit(1503741199.685:49): apparm                                                 or="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/ssd/ibdata1" pid                                                 =1345 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=109 ouid=109
Aug 26 02:53:20 ubuntu systemd[1]: mysql.service: Main process exited, code=exit                                                 ed, status=1/FAILURE

我该如何解决?

答案1

我按照以下步骤更改 mysql 中的默认数据目录:

我的系统配置如下

mysql 版本 14.14 发行版 5.7.19

Ubuntu 16.04 LTS

步骤如下:

  1. 停止 mysql 服务器service mysql stop
  2. 编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf并编辑datadir字段以指向新位置。

    例如datadir = /data/mysql

  3. 然后将内容复制/var/lib/mysql到新位置:

    cp -pr /var/lib/mysql /data
    
  4. 然后编辑/etc/apparmor.d/usr.sbin.mysqld文件。删除/var/lib/mysql并添加新datadir位置。在我的例子中是

     # Allow data dir access
     /data/mysql/ r,
     /data/mysql/** rwk,
    
  5. 重新启动 apparmor 服务systemctl restart apparmor

  6. 重启mysql服务service mysql start

    上述步骤对我有用,我希望对您也有效。

答案2

始终检查 Apparmor 状态

  1. sudo service apparmor status
  2. 如果它没有活动,请使用journalctl -xe,并验证哪个配置文件有问题。

答案3

这对我有用:Apt 升级后 Mysql 崩溃

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

    ...
      /etc/mysql/mysql.conf.d/ r,
      /etc/mysql/mysql.conf.d/* r,
      /sys/devices/system/node/* r,
      /etc/mysql/*.cnf r,
      /run/mysqld/* rw,
    ...

$ sudo systemctl reload apparmor.service
$ sudo systemctl start mysql.service

相关内容