Logs MariaDB : comment fonctionne la fonction de logging ?
Les logs MariaDB disposent de fonctionnalités complètes qui vous aident à surveiller et optimiser vos instances de base de données. Nous vous expliquons les différents types de logs et comment les configurer et les activer.
Quels sont les logs disponibles dans MariaDB ?
MariaDB propose quatre types de logs principaux qui enregistrent différents aspects du fonctionnement de la base de données :
Log d’erreur
Le log d’erreur documente les événements critiques tels que les opérations de démarrage et d’arrêt du serveur, les plantages ou d’autres erreurs graves. Il est activé par défaut et aide à diagnostiquer les problèmes du serveur.
Log de requêtes générales
Ce log enregistre chaque connexion au serveur ainsi que toutes les commandes SQL exécutées. Il est donc adapté à l’analyse des erreurs et à la surveillance des activités des utilisateurs.
Log binaire
Un log binaire enregistre toutes les modifications de la base de données, y compris les manipulations de données et les changements de structure. Il est essentiel pour les rélications et les restaurations à un point précis dans le temps.
Log de requêtes lentes
Ce log énumère les requêtes SQL dont le temps d’exécution dépasse une certaine durée. Il constitue une aide précieuse pour identifier et optimiser les goulets d’étranglement de performance.
- vCPU aux coûts avantageux et cœurs dédiés performants
- Sans engagement pour plus de flexibilité
- Assistance par des experts 24h/24 et 7j/7 incluse
Configurer et utiliser les logs MariaDB : guide étape par étape
Dans ce qui suit, nous vous montrons comment activer, configurer et analyser les quatre principaux fichiers de log (aussi appelés log files) de MariaDB. Nous aborderons le log d’erreurs, le log de requêtes générales, le log binaire, le log de requêtes lentes et l’emplacement (location) du log MariaDB.
Prérequis
- Un serveur avec une version récente d’Ubuntu ou d’une autre distribution Linux
- Un compte utilisateur avec des droits sudo
- Ne pas avoir MySQL installé en parallèle, car MySQL et MariaDB peuvent se chevaucher dans les fichiers de configuration et les ports
- Connaissances de base en SQL
Étape 1 : afficher et configurer le journal des erreurs
Tout d’abord, vous devez vous assurer que MariaDB est installé. Pour cela, exécutez la commande suivante :
sudo apt update
sudo apt install mariadb-serverbashCette commande met d’abord à jour la liste des paquets de votre système puis installe le serveur MariaDB.
Pour vous connecter à la base de données MariaDB, exécutez la commande suivante :
sudo mariadbbashVous accédez ainsi à la console SQL interactive en tant qu’administrateur.
À l’étape suivante, vérifiez où MariaDB écrit les logs tels que les messages d’erreur. Vous pouvez le faire avec cette instruction SQL :
SHOW VARIABLES LIKE '%log_error%';sqlSi la valeur de log_error est vide, les messages d’erreur sont par défaut écrits dans le journal système central (syslog).
Pour consulter ce journal, utilisez la commande suivante :
journalctl -u mariadb.servicebashCela vous donne une liste chronologique des messages système générés par le service MariaDB. Ceci est utile lorsque vous examinez des erreurs de démarrage ou d’autres événements critiques.
Si vous souhaitez utiliser à la place un fichier de log d’erreurs propre, vous devez modifier le fichier de configuration de MariaDB. Ouvrez-le avec un éditeur de texte comme nano :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashRecherchez la section [mysqld] et ajoutez-y la ligne suivante ou désactivez son commentaire :
log_error = /var/log/mariadb/error.logtxtVérifiez que le répertoire existe et dispose des bons droits d’accès. Pour ce faire, exécutez ces commandes :
sudo mkdir /var/log/mariadb
sudo chown mysql:mysql /var/log/mariadbbashLes commandes créent le répertoire et le définissent pour l’utilisateur et le groupe mysql, afin que la fonction de logging de MariaDB puisse y écrire.
Redémarrez ensuite le service MariaDB pour que les modifications de configuration prennent effet :
sudo systemctl restart mariadbbashEnfin, vous pouvez consulter le fichier de journal des erreurs :
sudo cat /var/log/mariadb/error.logbashVous y trouverez des informations sur les temps de démarrage, les avertissements ou les problèmes avec les plugins.
Étape 2 : activer le journal général des requêtes (General Query Log)
Pour vérifier le statut actuel, ouvrez la console SQL et saisissez la commande suivante :
SHOW VARIABLES LIKE '%general%';sqlLà, vous verrez si le journal général des requêtes est actif (general_log = ON) et où il est stocké (general_log_file).
Pour activer ces logs MariaDB de manière permanente, modifiez à nouveau le fichier de configuration :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashAjoutez les lignes suivantes dans la section [mysqld] :
general_log = 1
general_log_file = /var/log/mariadb/general-query.loginiEnsuite, redémarrez le service :
sudo systemctl restart mariadbbashPour voir les entrées enregistrées, utilisez :
sudo cat /var/log/mariadb/general-query.logbashVous y trouverez toutes les requêtes et connexions, y compris les horodatages. Cela aide à déterminer quand chaque demande a été émise.
Étape 3 : activer le journal binaire
Pour configurer le journal binaire, ouvrez le même fichier de configuration qu’auparavant :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashAjoutez les paramètres suivants dans la section [mysqld] :
log_bin = /var/log/mariadb/binary.log
server_id = 1
binlog_format = ROWtxtLe server_id est important pour la réplication (chaque serveur doit avoir un ID unique). Avec binlog_format = ROW, chaque modification de données au niveau des lignes est enregistrée dans les logs MariaDB.
Redémarrez le serveur :
sudo systemctl restart mariadbbashPour vérifier si le journal binaire est actif, saisissez dans la console SQL :
SHOW BINARY LOGS;sqlLes logs binaires actifs apparaissent alors avec leur nom et leur taille.
Pour lire le contenu d’un fichier, utilisez la commande suivante :
sudo mysqlbinlog /var/log/mariadb/binary.000001bashVous y verrez toutes les commandes de modification listées chronologiquement.
Étape 4 : consigner les requêtes lentes (Slow Query Log)
Modifiez le fichier de configuration :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashInsérez ce qui suit :
slow_query_log = 1
slow_query_log_file = /var/log/mariadb/slow-query.log
long_query_time = 10txtCela signifie que long_query_time = 10 enregistre toutes les requêtes dont le temps d’exécution dépasse dix secondes.
Redémarrez ensuite le service :
sudo systemctl restart mariadbbashVérifiez si le log est actif :
SHOW VARIABLES LIKE '%slow_query_log%';sqlEffectuez une requête de test délibérément lente :
SELECT SLEEP(12);sqlCette instruction force le serveur à attendre douze secondes. Elle devrait donc apparaître dans le Slow Query Log.
Enfin, vous pouvez afficher le log :
sudo cat /var/log/mariadb/slow-query.logbashVous y trouverez des horodatages, le temps de requête et l’instruction SQL concernée.
Pour plus d’informations sur l’analyse des fichiers journaux, veuillez consulter notre guide.
- Solutions flexibles, adaptées à vos besoins
- Architecture de niveau professionnel, gérée par des experts
- Hébergées en Europe, conformément aux normes de protection des données les plus strictes

