Où puis-je trouver le journal lent mysql?

24

Tout comme le titre l'indique, où puis-je le voir?

Y a-t-il des options de configuration pour cela (comme combien de ms détermineraient si une requête est lente ou non)?

poelinca
la source

Réponses:

22

Vous pouvez le trouver dans le répertoire par défaut, en fonction de votre installation. Par exemple, sur mon Red Hat, c'est / var / log / mysql /

Le temps de requête est le temps, en secondes, pendant lequel il doit commencer à enregistrer. Cela peut être fait au démarrage et à l'exécution.

log-slow-queries = /var/log/mysql/mysql-slow.log

long_query_time = 1

David Hall
la source
4
Sur mon site, j'ai découvert que quelqu'un avait défini log_slow_queries = ON. J'ai donc un fichier dans mon datadir appelé ON contenant le journal. C'était déroutant ...
Gaius
6
Notez que log-slow-queries est obsolète à partir du 5.1.29. Celui à utiliser par la suite est le journal des requêtes lentes.
Riedsio
1
Notez également qu'à partir de MySQL 5.1.21, une résolution de microsecondes est prise en charge lors de la connexion à un fichier.
Riedsio
26

Dans MySQL: show global variables like '%slow%';

Mise à jour: voici un lien vers le manuel: texte du lien

SteveHarville
la source
1
Pouvez-vous créer un lien vers le manuel pour une réponse courte comme celle-ci?
Brian Ballsun-Stanton
7

Ce sont les options (et paramètres) pertinents que j'ai généralement / utilise dans tous mes my.cnfs pour enregistrer les requêtes lentes:

log_output=FILE
slow_query_log=1
slow_query_log_file=/var/log/mysql/mysql.slow 
long_query_time=0.001 
log-queries-not-using-indexes=0

Notez que pour long_query_time ,

Depuis MySQL 5.1.21 ... une résolution de microsecondes est prise en charge lors de la connexion à un fichier.

Riedsio
la source
3

Recherchez votre fichier de configuration mysqld (généralement, /etc/my.cnf)

À votre coquille:

grep slow /etc/my.cnf
randomx
la source
2

Voici également quelque chose à considérer:

Si vous utilisez l'option

log-output=TABLE

dans votre fichier /etc/my.cnf, recherchez que le journal lent soit une table basée sur un moteur de stockage CSV située dans, de tous les endroits, le schéma mysql.

Cela affecte également le journal général, une fois que vous l'avez activé.

RolandoMySQLDBA
la source