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 :
- 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.
- Journal ISAM – Cela fait partie des utilitaires de journalisation au niveau administratif. Ce journal contient toutes les modifications apportées aux tables ISAM.
- 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.
- Journal Binaire – Contient le journal des instructions qui modifient le serveur. L'utilitaire mysqldbinlog gère cette journalisation.
- 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.cnfDans 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=10La 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 Journalisation | Opération | Niveau de verbosité |
| 1 | | Journalisation désactivée | |
| 2 | | Erreur interne | 1 |
| 3 | | Erreur | 1 |
| 4 | | Avertissement | 1 |
| 5 | | Informative | 1 |
| 6 | | Déboguer | 2 |
| 7 | | Déboguer2 | 3 |
| 8 | | Déboguer3 | 4 |
Lorsque vous démarrez le shell MySQL, vous pouvez configurer le niveau de verbosité à l'aide du paramètre –verbose.
- Niveau de verbosité 0 – Aucun message n'est affiché.
- Niveau 1 – Erreur interne, erreur, avertissement et messages d'information.
- Niveau 2 – inclut tous les messages de niveau 1 et les messages de débogage.
- Niveau 3 – Ajoute des messages Debug2 au Niveau et au Niveau 2.
- 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=6Vous 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=debugREMARQUE : 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 :
mysqlshUne fois dans le shell, exécutez la commande :
MySQL JS > \option -lCela 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.
