apparmor mysql_16.04 – 由于AppArmor,MySQL无法启动?

我正在尝试在Kubuntu 16.04上安装mysql-server-5.7,但我遇到了麻烦.

sudo apt install mysql-server提供以下输出.

Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...

Renaming removed key_buffer and myisam-recover options (if present)

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

invoke-rc.d: initscript mysql, action "start" failed.

● mysql.service - MySQL Community Server

Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)

Active: activating (auto-restart) (Result: exit-code) since ons 2017-05-17 09:48:39 CEST; 10ms ago

Process: 13622 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)

Process: 13621 ExecStart=/usr/sbin/mysqld (code=exited, status=2)

Process: 13612 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)

Main PID: 13621 (code=exited, status=2)

maj 17 09:48:39 anis systemd[1]: Failed to start MySQL Community Server.

maj 17 09:48:39 anis systemd[1]: mysql.service: Unit entered failed state.

maj 17 09:48:39 anis systemd[1]: mysql.service: Failed with result 'exit-code'.

dpkg: error processing package mysql-server-5.7 (--configure):

subprocess installed post-installation script returned error exit status 1

dpkg: dependency problems prevent configuration of mysql-server:

mysql-server depends on mysql-server-5.7; however:

Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):

dependency problems - leaving unconfigured

Errors were encountered while processing:

mysql-server-5.7

mysql-server

E: Sub-process /usr/bin/dpkg returned an error code (1)

当尝试通过运行journalctl -xe进行故障排除时,我得到如下输出,这似乎表明AppArmor给了我麻烦.

maj 17 09:53:14 anis 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.

maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0

maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:240): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:241): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=0

maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.314:242): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/status" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis audit[14767]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis kernel: audit: type=1400 audit(1495007594.658:243): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/14767/task/14767/mem" pid=14767 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=124 ouid=124

maj 17 09:53:14 anis systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

我怎么能解决这个问题呢?

解决方法:

您需要编辑apparmor配置以让MySQL访问这些文件.日志消息告诉您/usr/sbin / mysqld需要read(r)访问open / proc / 14767 / status,/ sys / devices / system / node /(尾随斜杠,因为它想要读取目录),以及的/ proc / 14767 /任务/ 14767 / MEM.要编辑的文件是/etc/apparmor.d/usr.sbin.mysqld.

在我的情况下,我通过在中间的某处添加这些线来解决问题(每个线前面有两个空格):

/proc/*/status r,

/sys/devices/system/node/ r,

/sys/devices/system/node/node0/meminfo r,

(注意第二行的尾部斜杠.)

执行此操作后,尝试启动MySQL,如果您收到更多错误,请添加这些文件,然后重试.

Here是我在别处给出这个问题的答案.

标签:mysql,16-04,apparmor

来源: https://codeday.me/bug/20190807/1612264.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值