2012-09-14 4 views
3

J'essaie d'activer la journalisation des requêtes lentes sur MySQL v5.0.45 (compiler OS: redhat-linus-gnu), mais je n'arrive pas à le faire fonctionner. J'ai essayé d'ajouter ...Comment enregistrer des requêtes lentes dans MySQL 5.0.45

long_query_time = 1 

à mon dossier /etc/my.cnf comme la dernière option dans la section [mysqld], puis je remis en marche en utilisant la commande ...

sudo /sbin/service mysqld restart --log-slow-queries=/var/log/slowqueries.log 

Ensuite, J'ai couru des programmes où je sais que la requête SELECT prend environ 6-8 secondes, mais je ne trouve pas le journal n'importe où. Des idées?

Répondre

0

Dans votre fichier /etc/my.cnf, ajoutez log_slow_queries = /var/log/mysql/slowqueries.log, puis redémarrez mysql comme d'habitude, par ex. sudo service mysqld restart et essayez-le.

+0

Hmm ... pas de chance. Je n'arrive toujours pas à enregistrer les requêtes. –

+0

service sudo mysqld restart service: Cette commande fonctionne toujours, mais elle est déconseillée. Merci d'utiliser launchctl (8) à la place. service: commande non reconnue 'restart' –

3

Pour MySQL 5.0, la variable que vous souhaitez utiliser dans my.cnf est:

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

Vous devez créer ce fichier manuellement et définir la propriété et le groupe à MySQL. Vous pouvez le faire sur la ligne de commande avec:

touch /var/log/mylogname.log 
chown mysql /var/log/mylogname.log 
chgrp mysql /var/log/mylogname.log 

Vous pouvez également définir la durée que vous considérez comme « long » avec:

long_query_time = 2 

Vous pouvez ajouter des requêtes qui sont effectuées sans index à l'aide :

log-queries-not-using-indexes 

Mais, cela peut remplir votre journal très rapidement. J'ai trouvé étrange que certaines variables utilisent des traits de soulignement et d'autres utilisent des tirets, et cela peut être différent selon la façon dont vous définissez les variables, via my.cnf, ou via la ligne de commande. Voici une liste de toutes les variables système que vous pouvez définir dans MySQL 5.0:

Autre chose étrange: cette documentation dit que log-slow-queries est une valeur booléenne, et quand je vérifie mes variables globales (dans mysql, tapez 'show global variables;'), il affiche la valeur de 'ON', pas comme le chemin du fichier dans lequel je l'ai défini. Peu importe, cela a fonctionné pour moi, et il a écrit le fichier.

+0

Cette réponse devrait être la réponse acceptée. Il ne couvre pas seulement comment configurer et configurer des requêtes lentes dans mysql 5.0.XX, mais il souligne également toutes les bizarreries bizarres qui l'entourent que j'ai remarquées au cours des années, mais que je n'ai jamais vues avec une telle concision. – degenerate

Questions connexes