AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 916009
Accepted
Supernormal
Supernormal
Asked: 2017-05-17 23:55:56 +0800 CST2017-05-17 23:55:56 +0800 CST 2017-05-17 23:55:56 +0800 CST

MySQL 不会因为 AppArmor 启动?

  • 772

我正在尝试在 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

我该如何解决这个问题?

16.04
  • 5 5 个回答
  • 67458 Views

5 个回答

  • Voted
  1. Best Answer
    Paul A Jungwirth
    2017-09-09T08:17:36+08:002017-09-09T08:17:36+08:00

    您需要编辑您的 apparmor 配置以让 MySQL 访问这些文件。日志消息告诉您/usr/sbin/mysqld需要读取(r)访问权限才能打开/proc/14767/status,/sys/devices/system/node/(尾随斜杠,因为它想要读取目录)和/proc/14767/task/14767/mem。要编辑的文件是/etc/apparmor.d/usr.sbin.mysqld.

    就我而言,我通过在中间某处添加这些行(每行前面有两个空格)解决了这个问题:

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

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

    之后,尝试启动 MySQL,如果您遇到更多错误,请添加这些文件并重试。

    这是我在其他地方对这个问题给出的答案。

    • 35
  2. ADDB
    2017-05-18T00:00:21+08:002017-05-18T00:00:21+08:00

    可能是这样的: https ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846 所以尝试使用

    echo "exit 0" >> /etc/init.d/mysql
    dpkg --configure -a
    

    如果它没有帮助使用:

    sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-5.5
    sudo apt-get install mysql-server
    

    完全删除您的 mysql 并重新安装警告:如果您有任何数据库,它们将被删除。

    • 6
  3. Kadir Y.
    2018-04-20T13:00:21+08:002018-04-20T13:00:21+08:00

    我用这个解决了这个问题:

    编辑/etc/apparmor.d/local/usr.sbin.mysqld

    添加以下行:

    /data/ r,
    /data/** rwk,
    

    重新加载apparmor服务

    sudo service apparmor reload
    
    • 4
  4. jusme Mi
    2018-02-09T18:49:07+08:002018-02-09T18:49:07+08:00
    1. stop mysql-server
    2. rm /var/lib/mysql/ib_logfile*
    3. restart mysql
    • 1
  5. viky_manoli
    2017-12-18T12:51:59+08:002017-12-18T12:51:59+08:00

    就我而言,在使用上述答案后尝试在 Ubuntu 16.04 上安装 mysql-server-5.7 时,有效的是:

    1. 跑sudo apt install mysql-server
    2. 检查上述确切错误
    3. 重启
    4. 再次运行sudo apt install mysql-server继续安装

    安装完成。

    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve