15/11/2024

Base de données

Activer les logs dans MySQL

I. Présentation

Par défaut dans MySQL, les logs ne sont pas actifs. Dans ce tutoriel nous allons donc chercher à activer les logs MySQL et faire en sorte que ceux-ci soient écrit dans "/var/log/mysql". Les logs peuvent souvent être d'une grande aide pour les débogages ou la compréhension d'événements exceptionnels (bugs, pannes ..).

II. Activer les logs dans le fichiers de configuration

Pour activer les logs MySQL, nous devons nous rendre dans son fichier de configuration "/etc/mysql/my.cnf". Il faut savoir que plusieurs types de logs peuvent être écrit dans plusieurs fichiers :

  • Les logs d'erreurs (log-error) : contient les informations indiquant que le serveur MySQL a été lancé ou arrêté ainsi que les erreurs critiques qui sont survenues lorsque le serveur fonctionnait.
  • Les logs généraux (general_log_file) : contient toutes les informations générales sur les requêtes clientes et les connexions effectuées.
  • Les logs binaires (log-bin) : contient toutes les requêtes qui modifient les données (UPDATE ou DELETE).
  • Les logs des requêtes lentes (log-slow-queries) : contient les requêtes faites au serveurs qui vont être plus longues que la valeur "long_query-time" à s'éxécuter sur le serveur.

Dans notre cas, nous n'allons activer que les trois premiers logs, c'est à dire "log-error", "general_log_file" et "log-bin" qui iront respectivement dans les fichiers "mysql-error.log", "mysql.log" et "mysql-bin.error" dans le répertoire "/var/log/mysql/". Nous allons ajouter quelques lignes de configuration en dessous de la ligne "[mysqld]" qui indique que l'on commence la partie de configuration du serveur MySQL :

[mysqld]
general_log_file=/var/log/mysql/mysql.log
log-error=/var/log/mysql/mysql-error.log
log-bin=/var/log/mysql/mysql-bin.log

Maintenant que les fichiers sont indiqués dans la configuration, il faut les créer dans le dossier "/var/log/mysql" qui, lui, existe déjà (créé à l'installation de mysql) :

cd /var/log/mysql
touch mysql-error.log mysql-bin.log mysql.log

Il faut également donner au service "mysql" les droits sur ces fichiers :

chown mysql /var/log/mysql -Rf

III. Redémarrer MySQL

Il nous faut maintenant redémarrer notre serveur MySQL pour que les changements soient pris en compte que les logs puissent s'écrire :

service mysql restart

Si tout se passe correctement, le serveur devrait redémarrer normalement et vous pourrez observer ces premiers messages dans le fichier "/var/log/mysql/mysql-error.log" :

 MySQLLog02

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

2 commentaires sur “Activer les logs dans MySQL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.