it-swarm.com.de

MySQL startet wegen AppArmor nicht?

Ich versuche, mysql-server-5.7 auf Kubuntu 16.04 zu installieren, habe aber Probleme.

Sudo apt install mysql-server gibt die folgende Ausgabe aus.

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)

Und wenn ich mit journalctl -xe eine Fehlerbehebung versuche, erhalte ich die folgende Ausgabe, was darauf hinzudeuten scheint, dass AppArmor mir Probleme bereitet.

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

Wie könnte ich dieses Problem lösen?

29
Supernormal

Sie müssen Ihre Apparmor-Konfiguration bearbeiten, damit MySQL auf diese Dateien zugreifen kann. In den Protokollnachrichten wird angegeben, dass /usr/sbin/mysqld Lesezugriff (r) zum Öffnen von /proc/14767/status, /sys/devices/system/node/ (abschließender Schrägstrich, da das Verzeichnis gelesen werden soll) und /proc/14767/task/14767/mem. Die zu bearbeitende Datei ist /etc/apparmor.d/usr.sbin.mysqld.

In meinem Fall habe ich das Problem gelöst, indem ich diese Zeilen irgendwo in der Mitte eingefügt habe (mit jeweils zwei Leerzeichen davor):

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

(Beachten Sie den abschließenden Schrägstrich für die zweite Zeile.)

Versuchen Sie anschließend, MySQL zu starten. Wenn weitere Fehler auftreten, fügen Sie auch diese Dateien hinzu und versuchen Sie es erneut.

Hier ist eine Antwort, die ich an anderer Stelle auf dieses Problem gegeben habe.

31

Dies kann sein: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846 Verwenden Sie also

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

wenn es nicht hilft:

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

um dein mysql komplett zu entfernen und neu zu installieren Warnung: Wenn du Datenbanken hast, werden diese entfernt.

6
ADDB

Ich habe dieses Problem damit gelöst.

Bearbeiten Sie /etc/apparmor.d/local/usr.sbin.mysqld

Fügen Sie diese Zeilen hinzu;

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

apparmor-Dienst neu laden

#Sudo service apparmor reload
1
Kadir Y.

In meinem Fall war der Versuch, mysql-server-5.7 unter Ubuntu 16.04 zu installieren, nachdem ich die obigen Antworten verwendet hatte:

  1. Sudo apt install mysql-server ausführen
  2. Überprüfen Sie den obigen genauen Fehler
  3. Starten Sie neu
  4. Führen Sie Sudo apt install mysql-server erneut aus, um die Installation fortzusetzen

Installation abgeschlossen.

0
viky_manoli
  1. stop mysql-server
  2. rm /var/lib/mysql/ib_logfile*
  3. restart mysql
0
jusme Mi