Maison  >  Article  >  base de données  >  Comment activer le journal des requêtes lentes MySQL

Comment activer le journal des requêtes lentes MySQL

PHPz
PHPzoriginal
2023-04-20 10:11:571585parcourir

Une requête lente fait référence à une instruction SQL dont le temps d'exécution dépasse l'heure planifiée par rapport à l'heure planifiée. Si les requêtes lentes ne sont pas supprimées à temps, les performances d'exécution de la base de données sur le serveur peuvent être considérablement affectées. Par conséquent, il est très important d’activer le journal des requêtes lentes MySQL dans un environnement de production.

Le journal des requêtes lentes MySQL vous aide à publier des détails sur les requêtes qui fonctionnent mal. Sera très utile pour diagnostiquer et résoudre les problèmes de performances dans les environnements de production. Dans cet article, nous présenterons en détail comment activer le journal des requêtes lentes MySQL.

Étape 1 : Vérifiez le chemin par défaut du journal des requêtes lentes MySQL

Nous devons vérifier le chemin par défaut du journal des requêtes lentes MySQL. Sur les systèmes Linux, le journal des requêtes lentes MySQL est stocké dans le fichier /var/lib/mysql/hostname-slow.log.

Étape 2 : Modifiez le fichier de configuration MySQL my.cnf

Pour activer le journal des requêtes lentes MySQL, nous devons modifier le fichier de configuration MySQL. Mon fichier my.cnf se trouve dans le répertoire /etc/mysql/.

Ouvrez le fichier my.cnf à l'aide de l'éditeur vim.

$ sudo vim /etc/mysql/my.cnf

Étape 3 : Ajoutez le contenu suivant dans le fichier my.cnf

Ajoutez le contenu suivant à la fin du fichier :

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/ hostname-slow.log
long_query_time = 2

Dans la configuration ci-dessus,

  • slow_query_log est une variable de commutateur utilisée pour activer ou désactiver le journal des requêtes lentes MySQL. Définir cette valeur sur 1 active la journalisation lente des requêtes MySQL.
  • slow_query_log_file est utilisé pour spécifier l'emplacement et le nom du fichier journal des requêtes lentes MySQL.
  • long_query_time est un entier spécifiant le temps requis pour qu'une requête soit considérée comme une requête lente. Dans cet exemple, nous l'avons fixé à 2 secondes. Autrement dit, si le temps d’exécution dépasse 2 secondes, elle sera enregistrée comme une requête lente.

Après avoir modifié le fichier my.cnf, enregistrez et fermez le fichier.

Quatrième étape : redémarrer le service MySQL

Redémarrez votre service MySQL pour que les modifications apportées au fichier my.cnf prennent effet.

$sudo service mysql restart

Étape cinq : Vérifier le journal des requêtes lentes MySQL

Pour vérifier le journal des requêtes lentes MySQL, entrez la commande suivante :

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';

Si le journal des requêtes lentes MySQL est activé, le résultat est le suivant :

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+

Nous pouvons vérifier en utilisant le commande suivante Fichier journal des requêtes lentes :

$ sudo cat /var/lib/mysql/ hostname-slow.log

Si une requête dépasse long_query_time, enregistrez-la dans un fichier.

Conclusion

L'activation du journal des requêtes lentes MySQL peut fournir des informations détaillées sur le temps d'exécution des requêtes, ce qui est très utile pour diagnostiquer et résoudre les problèmes de performances dans les systèmes de production internes. Cet article explique comment activer le journal des requêtes lentes MySQL sur les systèmes Linux. Avant d'activer le journal des requêtes lentes MySQL, assurez-vous de tester dans un environnement de test et d'effectuer suffisamment de tests pour vous assurer que la fonctionnalité n'aura pas d'impact négatif sur votre base de données de production.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn