web-dev-qa-db-fra.com

MySQL ne démarre pas à cause d'AppArmor?

J'essaie d'installer mysql-server-5.7 sur Kubuntu 16.04, mais j'ai des problèmes.

Sudo apt install mysql-server donne le résultat suivant.

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)

Et lorsque j'essaie de résoudre un problème en exécutant journalctl -xe, le résultat est le suivant, ce qui semble indiquer qu'AppArmor me pose problème.

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

Comment pourrais-je résoudre ce problème?

27
Supernormal

Vous devez modifier votre configuration apparmor pour permettre à MySQL d’accéder à ces fichiers. Les messages du journal vous indiquent que /usr/sbin/mysqld a besoin d'un accès en lecture (r) pour ouvrir /proc/14767/status, /sys/devices/system/node/ (barre de fin car il veut lire le répertoire) et /proc/14767/task/14767/mem. Le fichier à éditer est /etc/apparmor.d/usr.sbin.mysqld.

Dans mon cas, j'ai résolu le problème en ajoutant ces lignes quelque part au milieu (avec deux espaces devant chacune):

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

(Notez la barre oblique finale pour la deuxième ligne.)

Après cela, essayez de démarrer MySQL. Si vous rencontrez plus d’erreurs, ajoutez-les également et réessayez.

Ici est une réponse que j'ai donnée à ce problème ailleurs.

29
Paul A Jungwirth

Ce peut être ceci: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739846 alors essayez d'utiliser

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

si cela ne vous aide pas, utilisez:

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

supprimer complètement votre mysql et réinstaller Attention: Si vous avez des bases de données, elles seront supprimées.

6
ADDB

J'ai résolu ce problème avec ceci;

Éditez /etc/apparmor.d/local/usr.sbin.mysqld

Ajoutez ces lignes;

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

recharger le service apparmor

#Sudo service apparmor reload
1
Kadir Y.

Dans mon cas, essayer d'installer mysql-server-5.7 sur Ubuntu 16.04 après avoir utilisé les réponses ci-dessus, voici ce qui a fonctionné:

  1. Exécutez Sudo apt install mysql-server
  2. Inspecter l'erreur exacte ci-dessus
  3. Redémarrer
  4. Exécutez à nouveau Sudo apt install mysql-server pour continuer l'installation.

Installation terminée.

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