Recherche de site Web

Niveau de journalisation MySQL


Ce tutoriel explorera comment nous pouvons activer et configurer divers niveaux de journalisation dans le serveur MySQL. Cela détermine ce qui est enregistré et comment les messages de journal sont créés au sein du serveur.

Journalisation MySQL

En fonction du serveur MySQL installé et de la configuration, MySQL créera un fichier journal des événements sur le serveur.

Il existe cinq types de fichiers journaux pris en charge par le serveur MySQL. Ceux-ci incluent :

  1. Journal des erreurs – ce fichier journal contient les enregistrements des erreurs rencontrées lors du démarrage, de l'exécution ou de l'arrêt du serveur MySQL.
  2. Journal ISAM – Cela fait partie des utilitaires de journalisation au niveau administratif. Ce journal contient toutes les modifications apportées aux tables ISAM.
  3. Journal des requêtes – Comme son nom l'indique, ce fichier journal contient les enregistrements des connexions des utilisateurs et des requêtes exécutées.
  4. Journal Binaire – Contient le journal des instructions qui modifient le serveur. L'utilitaire mysqldbinlog gère cette journalisation.
  5. Journal lent – contient les journaux des requêtes qui dépassent la valeur du paramètre long_query_time.

REMARQUE : Gardez à l'esprit que certains des journaux discutés ci-dessus sont utilisés dans des opérations internes de MySQL. En tant qu'utilisateur ordinaire, divers fournisseurs MySQL peuvent abstraire divers journaux.

Nous n'aurons besoin que de connaître le journal des erreurs, les journaux généraux/de requêtes et les journaux des requêtes lentes pour ce tutoriel.

Activer la journalisation MySQL

Avant de configurer différents niveaux de journalisation dans MySQL, nous devons nous assurer que la fonction de journalisation est activée sur le serveur MySQL.

Tout d'abord, localisez et modifiez le fichier de configuration MySQL.

Gardez à l'esprit que l'emplacement du fichier de configuration MySQL peut varier en fonction de la configuration du système, de la méthode d'installation, du système d'exploitation, etc.

sudo nano /etc/mysql/my.cnf

Dans le fichier journal, ajoutez les entrées comme indiqué :

[mysqld]
log_error=/var/log/mysql/error.log
general_log_file= /var/log/mysql/mysql.log
general_log = 1
log_slow_queries= /var/log/mysql/mysql-slow.log
long_query_time=10

La configuration ci-dessus active les journaux d'erreurs, les journaux généraux et les journaux de lenteur. De plus, vous pouvez changer l'emplacement des fichiers journaux en spécifiant le chemin cible dans la configuration ci-dessus.

Enregistrez les modifications et continuez pour redémarrer le serveur.

Dans Windows, vous pouvez activer la journalisation de MySQL en modifiant le fichier my.ini avec les options suivantes.

general-log=1
general_log_file="mysql.log"
slow-query-log=1
slow_query_log_file="mysql-slow.log"
long_query_time=10
log-error="mysql.err"

De même, vous pouvez changer le chemin et les noms de fichiers des fichiers journaux selon vos préférences. Par défaut, MySQL stockera les fichiers journaux dans le répertoire des données (uniquement sous Windows).

Niveaux de journalisation MySQL

MySQL prend en charge jusqu'à huit niveaux de journalisation. Chaque niveau détermine les détails inclus dans les fichiers journaux et le type de messages.

Par défaut, le shell MySQL fonctionnera au niveau de journalisation 5. Cela inclut les erreurs, les avertissements et les messages d'information.

Les niveaux de journalisation pris en charge et ce que chacun implique sont les suivants.

Niveau de Journal (Numérique)Niveau de JournalisationOpérationNiveau de verbosité
1
None
Journalisation désactivée
2
Internal
Erreur interne1
3
Error
Erreur1
4
Warning
Avertissement1
5
Info
Informative1
6
Debug
Déboguer2
7
Debug2
Déboguer23
8
Debug3
Déboguer34

Lorsque vous démarrez le shell MySQL, vous pouvez configurer le niveau de verbosité à l'aide du paramètre –verbose.

  1. Niveau de verbosité 0 – Aucun message n'est affiché.
  2. Niveau 1 – Erreur interne, erreur, avertissement et messages d'information.
  3. Niveau 2 – inclut tous les messages de niveau 1 et les messages de débogage.
  4. Niveau 3 – Ajoute des messages Debug2 au Niveau et au Niveau 2.
  5. Niveau 4 – Ajoute des messages Debug3. Ceux-ci incluent des messages de journalisation très détaillés.

Spécifier le niveau de journalisation MySQL dans le shell

Pour spécifier le niveau de journal que vous souhaitez utiliser, nous pouvons utiliser la commande mysqlsh comme indiqué :

mysqlsh --log-level=6

Vous pouvez spécifier le niveau de journalisation sous forme de valeur numérique ou de sa représentation en chaîne comme :

mysqlsh --log-level=debug

REMARQUE : Dans Windows, la commande mysqlsh se trouve dans « C:\Program Files\MySQL\MySQL Shell 8.0\bin ».

Pour voir le niveau de journal actuel, ouvrez votre shell MySQL :

mysqlsh

Une fois dans le shell, exécutez la commande :

MySQL  JS > \option -l

Cela devrait lister les options de MySQL Shell, y compris le niveau de journalisation actuel :

Fermeture

Et c'est tout ; vous avez réussi à découvrir comment travailler avec les options de logging MySQL. Gardez à l'esprit que les options de journalisation MySQL vont au-delà du cadre de ce tutoriel. Vous pouvez consulter la documentation pour plus d'informations.