Maison  >  Article  >  base de données  >  Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysql

Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysql

php是最好的语言
php是最好的语言original
2018-07-30 14:07:291653parcourir

Qu'est-ce que le journal des requêtes lentes de MySQL ? Définition : Une fonction de journalisation fournie par mysql. Elle est utilisée pour enregistrer les instructions SQL dont la durée correspondante dépasse la valeur de long_query_time. La valeur par défaut de long_query_time est de 10 secondes. SQL dont la durée correspondante dépasse 10 secondes sera enregistrée dans le journal.

1. Vérifiez l'état de la fonction de journal lent. La fonction de journal lent est désactivée par défaut.

 show variables like '%slow_query_log%';

Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysqlOFF indique que la fonction de journal lent est activée. éteint et l'enregistrement du journal lent est stocké dans le fichier DESKTOP-2331B4V-slow.log, DESKTOP est le nom de mon ordinateur.

2. Activez la fonction de journal lent

set global slow_query_log=1;

Vérifiez ensuite l'état du journal lent
Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysqlL'état est activé, ce qui signifie que la fonction de journal lent est activée.

3. Vérifiez le temps long_query_time par défaut
Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysqllong_query_time est de 10 secondes, ce qui signifie que les instructions SQ qui dépassent 10 secondes seront enregistrées dans le journal lent.

4. Définissez long_query_time, la valeur par défaut de 10 secondes est trop longue

set global long_query_time=3;

Rouvrez une session, s'il s'agit d'un système de fenêtre, tapez simplement à nouveau un cmd (notez que si c'est le cas toujours dans Si vous interrogez la durée de long_query_time dans la session où long_query_time est défini, ce sera toujours la valeur par défaut de 10 secondes, vous devez donc redémarrer une session) et interrogez à nouveau la durée de long_query_time
Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysql

5. Simulation SQL fastidieuse
Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysqlL'instruction SQL indique que la requête a duré 5 secondes, ce qui dépasse le long_query_time défini. Ensuite, ouvrez

DESKTOP-2331B4V-slow.log日志,内容如下:
MySQL, Version: 5.5.60 (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: MySQLTime                 Id Command    Argument
# Time: 180729 12:52:29# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 5.005746  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0SET timestamp=1532839949;select sleep(5);

et vous verrez que le timeout SQL a été écrit dans le journal lent.

Lorsqu'il y a de nombreux journaux lents, vous pouvez également interroger le nombre de journaux lents
Journal des requêtes lentes mysql : une fonction de journalisation fournie par mysql

6. Configuration

L'exemple ci-dessus est configuré avec le commande , si la configuration devient invalide après le redémarrage de la base de données. Si vous souhaitez que la configuration reste valide après le redémarrage, vous pouvez ajouter la commande de configuration dans [mysqld] sous my.ini :

slow_query_log=1slow_query_log_file=d:/mysql/my.loglong_query_time=3long_output=FILE

Articles associés :

Analyse du journal des requêtes lentes MySQL

Utilisez mysqldumpslow et mysqlsla pour analyser le journal des requêtes lentes MySQL

Vidéos associées :

Données MySQL Tutoriel vidéo d'analyse des cas de sauvegarde et de récupération de gestion

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