web-dev-qa-db-fra.com

Où puis-je trouver le journal lent mysql?

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

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

26
poelinca

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

22
David Hall

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

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

26
SteveHarville

Ce sont les options (et paramètres) pertinents que j'utilise/utilise généralement 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.

7
Riedsio

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

À votre Shell:

grep slow /etc/my.cnf
3
randomx

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é.

2
RolandoMySQLDBA