Comment puis-je activer MySQL slow query log sans redémarrer MySQL?
J'ai suivi les instructions ici: http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/ mais qui semble être la seule à fixer le seuil.
Faire j'ai besoin de faire autre chose comme définir le chemin du fichier?
Selon MySQL docs
Si aucun nom de fichier de la valeur est donnée pour --log-slow-queries, le nom par défaut est host_name-lent.journal. Le serveur crée le fichier dans le répertoire de données, à moins que un chemin d'accès absolu est donné pour spécifier un autre répertoire.
De course
AFFICHER LES VARIABLES
n'indique pas tout le chemin du fichier journal et je ne vois pas de slow query log fichier sur mon serveur...
MODIFIER
On dirait que je suis en utilisant la version du serveur 5.0.77, donc je devais faire:
SET GLOBAL log_slow_queries = 1;
mais j'obtiens: ERREUR 1238 (HY000): la Variable 'log_slow_queries" est en lecture seule variable
Je suppose que je vais avoir besoin de redémarrer le serveur et d'avoir log_slow_queries mis dans ma config?
- Pourquoi ne pas vous tester sur une zone de développement ?
Vous devez vous connecter pour publier un commentaire.
Essayer
SET GLOBAL slow_query_log = 'ON';
et peut-êtreFLUSH LOGS;
Cela suppose que vous utilisez MySQL 5.1 ou une version ultérieure. Si vous utilisez une version antérieure, vous devrez redémarrer le serveur. Ceci est documenté dans le Manuel MySQL. Vous pouvez configurer le journal dans le fichier de configuration ou sur la ligne de commande.
SET GLOBAL slow_query_log = 'OFF';
fonctionne comme prévu, ainsi.FLUSH LOGS
n'était pas nécessaire dans les deux cas.Pour les requêtes lentes sur la version < 5.1, la configuration suivante a fonctionné pour moi:
Également note de la placer sous
[mysqld]
partie du fichier de configuration et redémarrermysqld
.sudo mkdir /var/log/mysql
sudo touch /var/log/mysql/slow-query.log
sudo chown -R _mysql /var/log/mysql/
log_slow_queries
a été dépréciée en MySQL 5.1.29 parslow-query-log
. Le MySQL 5.1 Manuel de Référence a plus de détails.Trouver log activé ou pas?
Définir les journaux:-
Manuel MySQL - slow-requête de fichier journal
Cette prétend que vous pouvez exécuter les opérations suivantes pour définir la lente fichier journal (5.1.6 à partir de):
La variable slow_query_log juste contrôles s'il est activé ou pas.
Ces travaux
Cassé sur ma configuration 5.1.42
http://bugs.mysql.com/bug.php?id=32565
Ressemble à la meilleure façon de le faire est de définir log_slow_time très élevé donc "d'éteindre" le slow query log. Bas log_slow_time pour l'activer. Utiliser la même astuce (DÉSACTIVÉE) pour log_queries_not_using_indexes.
Je pense que le problème est de s'assurer que le serveur MySQL a les droits sur le fichier et de le modifier.
Si vous pouvez l'obtenir pour avoir accès au dossier, alors vous pouvez essayer de réglage:
SET GLOBAL slow_query_log = 1;
Si pas, vous pouvez toujours recharger le serveur après avoir modifié le fichier de configuration. Sur linux, et la plupart des
/etc/init.d/mysql reload
Si vous souhaitez activer général des journaux d'erreurs et de requêtes lentes journal d'erreur dans la table, au lieu de fichier
Pour démarrer l'enregistrement dans la table à la place du fichier:
Pour permettre général et slow query log:
Pour afficher les journaux:
Pour plus de détails, visitez ce lien
http://easysolutionweb.com/technology/mysql-server-logs/
Cela doit fonctionner sur mysql > 5.5