Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/08/2017, à 12:38

Snaeffel

[RESOLU] Problème apparmor et mysql

Bonjour,

J'ai un serveur local qui fonctionnait bien, mais ce matin, patatra, impossible d'accéder à quoi que ce soit, Apache non démarré. J'ai désinstallé et ré-installé Apache, et c'est reparti, mais mysql ne veut pas démarrer, et là je suis coincé.

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

Si je fais la première commande j'ai :

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since lun. 2017-08-28 12:34:58 CEST; 4s ago
  Process: 6863 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 6855 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 6863 (code=exited, status=1/FAILURE);         : 6864 (mysql-systemd-s)
   CGroup: /system.slice/mysql.service
           └─control
             ├─6864 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─6879 sleep 1

août 28 12:34:58 serveur systemd[1]: Starting MySQL Community Server...
août 28 12:34:58 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

Et la deuxième :

août 28 12:35:58 serveur systemd[1]: Failed to start MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a échoué, avec le résultat failed.
août 28 12:35:58 serveur systemd[1]: mysql.service: Unit entered failed state.
août 28 12:35:58 serveur systemd[1]: mysql.service: Failed with result 'exit-code'.
août 28 12:35:58 serveur systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
août 28 12:35:58 serveur systemd[1]: Stopped MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a terminé son arrêt
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 28 12:35:58 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 28 12:35:58 serveur audit[7043]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7043/status" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 12:35:58 serveur audit[7043]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 12:35:58 serveur audit[7043]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7043/status" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 12:35:58 serveur kernel: audit: type=1400 audit(1503916558.643:127): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7043/status" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid
août 28 12:35:58 serveur kernel: audit: type=1400 audit(1503916558.643:128): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=7043 comm="mysqld" requested_mask="r" denied_mask="
août 28 12:35:58 serveur kernel: audit: type=1400 audit(1503916558.643:129): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7043/status" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid
août 28 12:35:58 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
août 28 12:36:28 serveur systemd[1]: Failed to start MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a échoué, avec le résultat failed.
août 28 12:36:28 serveur systemd[1]: mysql.service: Unit entered failed state.
août 28 12:36:28 serveur systemd[1]: mysql.service: Failed with result 'exit-code'.
août 28 12:36:28 serveur systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
août 28 12:36:28 serveur systemd[1]: Stopped MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a terminé son arrêt
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 28 12:36:28 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 28 12:36:28 serveur audit[7130]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7130/status" pid=7130 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 12:36:28 serveur audit[7130]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=7130 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 12:36:28 serveur audit[7130]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7130/status" pid=7130 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 12:36:28 serveur kernel: audit: type=1400 audit(1503916588.887:130): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7130/status" pid=7130 comm="mysqld" requested_mask="r" denied_mask="r" fsuid
août 28 12:36:28 serveur kernel: audit: type=1400 audit(1503916588.887:131): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=7130 comm="mysqld" requested_mask="r" denied_mask="
août 28 12:36:28 serveur kernel: audit: type=1400 audit(1503916588.887:132): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7130/status" pid=7130 comm="mysqld" requested_mask="r" denied_mask="r" fsuid
août 28 12:36:29 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

Je sais pas ce qui s'est passé, je n'ai rien fait de spécial (il me semble).

Merci d'avance pour votre aide.

Dernière modification par Snaeffel (Le 29/08/2017, à 21:12)

Hors ligne

#2 Le 28/08/2017, à 13:38

bruno

Re : [RESOLU] Problème apparmor et mysql

Bonjour,

Il semble qu'il y ait un problème avec le profil apparmor de mysql. Peux-tu nous indiquer le contenu du fichier /etc/apparmor.d/usr.sbin.mysqld

Hors ligne

#3 Le 28/08/2017, à 14:26

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Bonjour, et merci de me répondre.

voilà le contenu du fichier :

# vim:syntax=apparmor
# Last Modified: Tue Feb 09 15:28:30 2016
#include <tunables/global>

/usr/sbin/mysqld {
  #include <abstractions/base>
  #include <abstractions/nameservice>
  #include <abstractions/user-tmp>
  #include <abstractions/mysql>
  #include <abstractions/winbind>

# Allow system resource access
  /sys/devices/system/cpu/ r,
  capability sys_resource,
  capability dac_override,
  capability setuid,
  capability setgid,

# Allow network access
  network tcp,

  /etc/hosts.allow r,
  /etc/hosts.deny r,

# Allow config access
  /etc/mysql/** r,

# Allow pid, socket, socket lock file access
  /var/run/mysqld/mysqld.pid rw,
  /var/run/mysqld/mysqld.sock rw,
  /var/run/mysqld/mysqld.sock.lock rw,
  /run/mysqld/mysqld.pid rw,
  /run/mysqld/mysqld.sock rw,
  /run/mysqld/mysqld.sock.lock rw,

# Allow execution of server binary
  /usr/sbin/mysqld mr,
  /usr/sbin/mysqld-debug mr,

# Allow plugin access
  /usr/lib/mysql/plugin/ r,
  /usr/lib/mysql/plugin/*.so* mr,

# Allow error msg and charset access
  /usr/share/mysql/ r,
  /usr/share/mysql/** r,

# Allow data dir access
  /var/lib/mysql/ r,
  /var/lib/mysql/** rwk,

# Allow data files dir access
  /var/lib/mysql-files/ r,
  /var/lib/mysql-files/** rwk,

# Allow keyring dir access
  /var/lib/mysql-keyring/ r,
  /var/lib/mysql-keyring/** rwk,

# Allow log file access
  /var/log/mysql.err rw,
  /var/log/mysql.log rw,
  /var/log/mysql/ r,
  /var/log/mysql/** rw,

  # Site-specific additions and overrides. See local/README for details.
  #include <local/usr.sbin.mysqld>
}

Je suis allé jeter un oeil par curiosité :
- /var/run/mysqld est vide
- /run/mysqld est vide
- Pas de dossier mysqld dans /usr/sbin
- Pas de dossier mysql dans /var/log

Ça sent pas très bon, si ?

Hors ligne

#4 Le 28/08/2017, à 15:41

bruno

Re : [RESOLU] Problème apparmor et mysql

Le fichier apparmor parait normal. Par contre vu ce que tu décris j'ai un doute sur installation de mysql-server, donc rchargement de la liste des paquet, mise à jour complète, puis installation :

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install mysql-server

Hors ligne

#5 Le 28/08/2017, à 15:49

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Rechargement de la liste des paquets et mise à jour OK.

Et à l'installation :

sudo apt-get install mysql-server
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
mysql-server is already the newest version (5.7.19-0ubuntu0.16.04.1).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libmircommon5 linux-headers-4.4.0-91 linux-headers-4.4.0-91-generic linux-image-4.4.0-91-generic linux-image-extra-4.4.0-91-generic
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Hors ligne

#6 Le 28/08/2017, à 18:18

bruno

Re : [RESOLU] Problème apparmor et mysql

Snaeffel a écrit :

- Pas de dossier mysqld dans /usr/sbin
- Pas de dossier mysql dans /var/log

Donnes-nous le retour de :

ls -l /usr/sbin/mysqld

C'est l'exécutable du serveur MySQL. Si le fichier n'est pas présent c'est que mysql-server n'est pas correctement installé…
Essaie :

sudo apt install mysql-server-5.7

Hors ligne

#7 Le 28/08/2017, à 18:30

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

ls -l /usr/sbin/mysqld
-rwxr-xr-x 1 root root 24791432 juil. 19 21:31 /usr/sbin/mysqld

Il est bien présent (je cherchais un dossier, du coup je l'avais pas vu...)

Et


sudo apt install mysql-server-5.7
[sudo] Mot de passe de matthieu : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
mysql-server-5.7 is already the newest version (5.7.19-0ubuntu0.16.04.1).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libmircommon5 linux-headers-4.4.0-91 linux-headers-4.4.0-91-generic
  linux-image-4.4.0-91-generic linux-image-extra-4.4.0-91-generic
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

Hors ligne

#8 Le 28/08/2017, à 19:41

bruno

Re : [RESOLU] Problème apparmor et mysql

hum…
C'est bien un problème avec apparmor mais je ne vois pas ce qui coince… Peut-être ce bug
À tout hasard essaie de relancer apparmor, puis mysql :

sudo service apparmor restart
sudo service mysql restart

Hors ligne

#9 Le 28/08/2017, à 19:53

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Non, c'est pareil.

Je suis allé voir la doc de apparmor, et désactivé comme suit :

sudo service apparmor stop
sudo update-rc.d -f apparmor remove

Et j'ai exactement le même problème, c'est la misère...

Hors ligne

#10 Le 28/08/2017, à 20:44

bruno

Re : [RESOLU] Problème apparmor et mysql

Tu as le même message d'erreur (retour de journalctl -xe) après avoir désactivé apparmor ?!

Cette erreur :

août 28 12:35:58 serveur audit[7043]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/7043/status" pid=7043 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121

correspond bien au bug que j'ai cité plus haut…

Hors ligne

#11 Le 28/08/2017, à 21:39

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Après avoir désactivé apparmor, si je fais :

sudo mysql start

J'ai

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Je n'ai rien dans le dossier /var/run/mysqld, c'est vide !

Ensuite, avec journalctl -xe (désolé pour le pavé) :

journalctl -xe
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 28 21:37:18 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 28 21:37:18 serveur audit[23062]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23062/status" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:18 serveur audit[23062]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 21:37:18 serveur audit[23062]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23062/status" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:18 serveur kernel: audit: type=1400 audit(1503949038.313:757): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23062/status" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:18 serveur kernel: audit: type=1400 audit(1503949038.313:758): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 21:37:18 serveur kernel: audit: type=1400 audit(1503949038.313:759): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23062/status" pid=23062 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:18 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
août 28 21:37:48 serveur systemd[1]: Failed to start MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a échoué, avec le résultat failed.
août 28 21:37:48 serveur systemd[1]: mysql.service: Unit entered failed state.
août 28 21:37:48 serveur systemd[1]: mysql.service: Failed with result 'exit-code'.
août 28 21:37:48 serveur systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
août 28 21:37:48 serveur systemd[1]: Stopped MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a terminé son arrêt
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 28 21:37:48 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 28 21:37:48 serveur audit[23166]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23166/status" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:48 serveur audit[23166]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 21:37:48 serveur audit[23166]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23166/status" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:48 serveur kernel: audit: type=1400 audit(1503949068.565:760): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23166/status" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:48 serveur kernel: audit: type=1400 audit(1503949068.565:761): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 28 21:37:48 serveur kernel: audit: type=1400 audit(1503949068.565:762): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/23166/status" pid=23166 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 28 21:37:48 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
lines 2077-2121/2121 (END)

Dernière modification par Snaeffel (Le 28/08/2017, à 21:42)

Hors ligne

#12 Le 29/08/2017, à 08:08

bruno

Re : [RESOLU] Problème apparmor et mysql

C'est tout de même étrange d'avoir encore des messages d'erreurs provenant de apparmor.
Est-tu sûr de ne rien avoir dans les logs ? Voir les fichiers /var/log/mysql.err /var/log/mysql.log /var/log/mysql/error.log Cela aiderait à comprendre ce qui ce passe.

Hors ligne

#13 Le 29/08/2017, à 09:40

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Je n'ai aucun de ces fichiers dans /var/log...

Je suis allé consulter la doc pour vois si on pouvait activer/désactiver les logs pour mysql, et j'ai trouvé des paramètres à modifier dans le fichier /etc/mysql/my.cnf
Mais ce fichier chez moi ne contient pas grand chose :

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Et c'est tout.

Hors ligne

#14 Le 29/08/2017, à 10:01

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

J'ai copié le contenu de /etc/mysql/mysql.conf.d/mysqld.cnf dans /etc/mysql/my.cnf

J'ai décommenté ces deux lignes :

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

Mon fichier my.cnf :

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address		= 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size		= 16M
max_allowed_packet	= 16M
thread_stack		= 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit	= 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries	= /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id		= 1
#log_bin			= /var/log/mysql/mysql-bin.log
expire_logs_days	= 10
max_binlog_size   = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

Toujours pas de log en vue.

J'ai essayé de faire

sudo service mysql reload

Et j'obtiens

 * Reloading MySQL database server mysqld
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

Hors ligne

#15 Le 29/08/2017, à 11:00

pires57

Re : [RESOLU] Problème apparmor et mysql

Salut,

Tu as passé des mises à jours avant le bug?
Est ce que tu pourrais renvoyer le contenu du fichier

/etc/apparmor.d/usr.sbin.mysqld

?

EDIT : toutes mes excuses, déjà la.

Essayes de rajouter cette ligne

/etc/mysql/* r,

après celle ci :

/etc/mysql/** r,

C'est au environs des lignes 20 - 30

Ensuite tu tapes les commandes suivantes :

systemctl restart apparmor.service
service mysql stop
service mysql start

Dernière modification par pires57 (Le 29/08/2017, à 11:04)


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#16 Le 29/08/2017, à 11:39

bruno

Re : [RESOLU] Problème apparmor et mysql

La suggestion de pires57 est effectivement à essayer.

Cependant tu n'aurais pas dû modifier ainsi les fichiers de configuration de MySQL. le fichier my.cnf est presque vide car il sert surtout à "sourcer" les fichiers présents dans /etc/mysql/conf.d/ et /etc/mysql/mysql.conf.d/. Je t'invite à remettre les fichiers de configuration par défaut tels qu'ils sont fournis par les paquets mysql*

Il y a deux choses qui me paraissent vraiment très mystérieuses :
- tu as toujours des erreurs dues a apparmor, alors qu'il est censé être désactivé !
- tu n'as aucun fichier de log ! (si cela fonctionnait avant tu devrais au moins avoir les anciens logs.)

en désespoir de cause tu pourras toujours essayer de supprimer complètement mysql-server :

sudo apt purge mysql-server mysql-server-5.7

Attention: si tu as des bases de données, elles seront supprimées.
Puis réinstaller le paquet mysql-server en répondant bien aux questions posées lors de l’installation

Dernière modification par bruno (Le 29/08/2017, à 13:56)

Hors ligne

#17 Le 29/08/2017, à 11:58

pires57

Re : [RESOLU] Problème apparmor et mysql

Il y a deux choses qui me paraissent vraiment très mystérieuses :
- tu as toujours des erreurs dues a apparmor, alors qu'il est censé être désactivé !
- tu n'as aucun fichier de log ! (si cela fonctionnait avant tu devrais au moins avoir les anciens logs.)

Ce n'est pas forcement bizarre. Apparmor à pu être relancé de différente manières (cron, reboot ... ) tu ne connais pas le contexte mais le comportement peut s'expliquer.
Ci la config logs étaient en commentaire alors ce n'est pas non plus étonnant.

en désespoir de cause tu pourras toujours essayer de supprimer complètement mysql-server :

sudo apt purg emsql-server mysql-server-5.7

Attention: si tu as des bases de données, elles seront supprimées.
Puis réinstaller le paquet mysql-server en répondant bien aux qustions posées lors de l'installatiopn

J'aimerais bien ne pas en arriver à ce point, si apparmor bloque c'est que quelques chose ne lui plaît pas. Je doute qu'une simple réinstallation du package le débloque.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#18 Le 29/08/2017, à 12:20

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

pires57 a écrit :

Salut,

Tu as passé des mises à jours avant le bug?

Oui, il y a eu des mises à jour, mais comme c'était les vacances, je ne me suis pas servi de Apache et Mysql, donc je ne sais pas quand exactement.

pires57 a écrit :

Essayes de rajouter cette ligne

/etc/mysql/* r,

après celle ci :

/etc/mysql/** r,

C'est au environs des lignes 20 - 30

Ensuite tu tapes les commandes suivantes :

systemctl restart apparmor.service
service mysql stop
service mysql start

J'ai rajouté la ligne, mais j'ai toujours ceci :

matthieu@serveur:~$ systemctl restart apparmor.service
matthieu@serveur:~$ service mysql stop
matthieu@serveur:~$ service mysql start
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

Cherche fichier de log désespérément...

Hors ligne

#19 Le 29/08/2017, à 12:27

pires57

Re : [RESOLU] Problème apparmor et mysql

Tu renvoie le fichier de log s'il te plait? le message à peut-etre changer avec la modif

journalctl -xe

Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#20 Le 29/08/2017, à 12:40

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

Le voilà :

journalctl -xe
août 29 12:39:01 serveur CRON[32249]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
août 29 12:39:01 serveur CRON[32248]: pam_unix(cron:session): session closed for user root
août 29 12:39:02 serveur systemd[1]: Failed to start MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a échoué, avec le résultat failed.
août 29 12:39:02 serveur systemd[1]: mysql.service: Unit entered failed state.
août 29 12:39:02 serveur systemd[1]: mysql.service: Failed with result 'exit-code'.
août 29 12:39:02 serveur systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
août 29 12:39:02 serveur systemd[1]: Stopped MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a terminé son arrêt
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 29 12:39:02 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 29 12:39:02 serveur audit[32302]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/32302/status" pid=32302 comm="mysqld" requested_mask="r" d
août 29 12:39:02 serveur audit[32302]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=32302 comm="mysqld" requested_mas
août 29 12:39:02 serveur audit[32302]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/32302/status" pid=32302 comm="mysqld" requested_mask="r" d
août 29 12:39:02 serveur kernel: audit: type=1400 audit(1504003142.629:1056): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/32302/status" pid=32302
août 29 12:39:02 serveur kernel: audit: type=1400 audit(1504003142.629:1057): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pi
août 29 12:39:02 serveur kernel: audit: type=1400 audit(1504003142.629:1058): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/proc/32302/status" pid=32302
août 29 12:39:02 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
lines 1997-2026/2026 (END)

Hors ligne

#21 Le 29/08/2017, à 14:02

bruno

Re : [RESOLU] Problème apparmor et mysql

Toujours pareil…
Il faut vraiment vérifier si tu n'es pas concerné par ce bug : https://bugs.launchpad.net/ubuntu/+sour … ug/1658239

Pour cela, voir la version de apparmor installée :

apt-cache policy apparmor

et le contenu du fichier /etc/apparmor.d/abstractions/base

Voir aussi ce rapport de bug : https://bugs.launchpad.net/ubuntu/+sour … ug/1610765

Dernière modification par bruno (Le 29/08/2017, à 14:02)

Hors ligne

#22 Le 29/08/2017, à 14:18

pires57

Re : [RESOLU] Problème apparmor et mysql

https://blogs.oracle.com/jsmyth/apparmor-and-mysql
Regardes également de ce côté.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#23 Le 29/08/2017, à 17:24

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

C'est pas évident pour moi la lecture des rapports de bug...

J'ai parcouru le lien posté par pires57, et j'ai fait :

sudo apt install apparmor-utils
sudo aa-complain /usr/sbin/mysqld

sudo aa-status
apparmor module is loaded.
23 profiles are loaded.
22 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/evince
   /usr/bin/evince-previewer
   /usr/bin/evince-previewer//sanitized_helper
   /usr/bin/evince-thumbnailer
   /usr/bin/evince-thumbnailer//sanitized_helper
   /usr/bin/evince//sanitized_helper
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/NetworkManager/nm-dhcp-helper
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/cups/backend/cups-pdf
   /usr/lib/lightdm/lightdm-guest-session
   /usr/lib/lightdm/lightdm-guest-session//chromium
   /usr/lib/snapd/snap-confine
   /usr/lib/snapd/snap-confine//mount-namespace-capture-helper
   /usr/sbin/cups-browsed
   /usr/sbin/cupsd
   /usr/sbin/cupsd//third_party
   /usr/sbin/ippusbxd
   /usr/sbin/tcpdump
   webbrowser-app
   webbrowser-app//oxide_helper
1 profiles are in complain mode.
   /usr/sbin/mysqld
1 processes have profiles defined.
1 processes are in enforce mode.
   /usr/sbin/cups-browsed (1074) 
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Ce qui a pour effet je crois de mettre le profil /usr/bin/mysqld en mode "complain".

Ensuite, j'ai lancé la commande trouvée sur la page en question :

mysqld_safe --datadir=/data

Ça démarre pas, mais j'ai ces erreurs intéressantes :

2017-08-29T15:07:59.543002Z mysqld_safe Logging to syslog.
/usr/bin/mysqld_safe: 647: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
Logging to '/var/log/mysql/error.log'.
2017-08-29T15:07:59.554086Z mysqld_safe Starting mysqld daemon with databases from /data
/usr/bin/mysqld_safe: 152: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
/usr/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Directory nonexistent
2017-08-29T15:07:59.557929Z mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
/usr/bin/mysqld_safe: 152: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent

Ensuite j'ai essayé :

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

Pas mieux donc, mais journalctl -xe renvoie juste après :

journalctl -xe
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 29 17:09:22 serveur audit[22672]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22672/status" pid=22672 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 29 17:09:22 serveur audit[22672]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=22672 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 29 17:09:22 serveur audit[22672]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/node0/meminfo" pid=22672 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 o
août 29 17:09:22 serveur audit[22672]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22672/status" pid=22672 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 29 17:09:22 serveur kernel: audit: type=1400 audit(1504019362.106:639): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22672/status" pid=22672 comm="mysqld" requested_mask="r" denied_mask="
août 29 17:09:22 serveur kernel: audit: type=1400 audit(1504019362.106:640): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=22672 comm="mysqld" requested_mask="r" denied
août 29 17:09:22 serveur kernel: audit: type=1400 audit(1504019362.106:641): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/node0/meminfo" pid=22672 comm="mysqld" requested_ma
août 29 17:09:22 serveur kernel: audit: type=1400 audit(1504019362.106:642): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22672/status" pid=22672 comm="mysqld" requested_mask="r" denied_mask="
août 29 17:09:22 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
août 29 17:09:52 serveur systemd[1]: Failed to start MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a échoué
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a échoué, avec le résultat failed.
août 29 17:09:52 serveur systemd[1]: mysql.service: Unit entered failed state.
août 29 17:09:52 serveur systemd[1]: mysql.service: Failed with result 'exit-code'.
août 29 17:09:52 serveur sudo[22652]: pam_unix(sudo:session): session closed for user root
août 29 17:09:52 serveur systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
août 29 17:09:52 serveur systemd[1]: Stopped MySQL Community Server.
-- Subject: L'unité (unit) mysql.service a terminé son arrêt
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a terminé son arrêt.
août 29 17:09:52 serveur systemd[1]: Starting MySQL Community Server...
-- Subject: L'unité (unit) mysql.service a commencé à démarrer
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- L'unité (unit) mysql.service a commencé à démarrer.
août 29 17:09:52 serveur audit[22754]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22754/status" pid=22754 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 29 17:09:52 serveur audit[22754]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=22754 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=0
août 29 17:09:52 serveur audit[22754]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/node0/meminfo" pid=22754 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 o
août 29 17:09:52 serveur audit[22754]: AVC apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22754/status" pid=22754 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=121 ouid=121
août 29 17:09:52 serveur kernel: audit: type=1400 audit(1504019392.491:643): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22754/status" pid=22754 comm="mysqld" requested_mask="r" denied_mask="
août 29 17:09:52 serveur kernel: audit: type=1400 audit(1504019392.491:644): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/" pid=22754 comm="mysqld" requested_mask="r" denied
août 29 17:09:52 serveur kernel: audit: type=1400 audit(1504019392.491:645): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/sys/devices/system/node/node0/meminfo" pid=22754 comm="mysqld" requested_ma
août 29 17:09:52 serveur kernel: audit: type=1400 audit(1504019392.491:646): apparmor="ALLOWED" operation="open" profile="/usr/sbin/mysqld" name="/proc/22754/status" pid=22754 comm="mysqld" requested_mask="r" denied_mask="
août 29 17:09:52 serveur systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
lines 2054-2096/2096 (END)

Où là pour le coup j'ai ALLOWED à la place de DENIED, ce qui laisserait penser que apparmor pose problème (ah bon ?).
Mais du coup, c'est peut-être pas mon seul soucis.

J'ai bien envie de créer /var/log/mysql/ à la main pour voir, mais quels droits/propriétaires lui donner ?

Hors ligne

#24 Le 29/08/2017, à 18:05

bruno

Re : [RESOLU] Problème apparmor et mysql

J'ai bien envie de créer /var/log/mysql/ à la main pour voir, mais quels droits/propriétaires lui donner ?

sudo mkdir /var/log/mysql
sudo chown mysql:adm /var/log/mysql
sudo chmod 750 /var/log/mysql
sudo chmod g+s /var/log/mysql

Dernière modification par bruno (Le 29/08/2017, à 18:05)

Hors ligne

#25 Le 29/08/2017, à 20:04

Snaeffel

Re : [RESOLU] Problème apparmor et mysql

sudo mkdir /var/log/mysql
sudo chown mysql:adm /var/log/mysql
sudo chmod 750 /var/log/mysql
sudo chmod g+s /var/log/mysql

sudo service mysql reload
 * Reloading MySQL database server mysqld                                [ OK ] 
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since mar. 2017-08-29 19:44:19 CEST; 3min 4s ago
  Process: 1215 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 1194 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 1214 (mysqld)
   CGroup: /system.slice/mysql.service
           └─1214 /usr/sbin/mysqld

Et voilà... et les logs sont revenus. Je sais pas ce qui a pu causer ça, mais c'est un peu flippant quand même.
Tout à l'air ok, sauf que j'ai viandé ma config apache et mes virtualhosts en désinstallant et réinstallant... mais je devrais m'en sortir, ça fera l'objet d'un autre post si besoin.


Je passe en résolu, et adresse un grand merci à bruno et pires57 pour leur aide. Je vous fais de gros bisous.

Hors ligne