J'ai suivi les instructions ici: http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/ mais cela ne semble définir que le seuil.
Dois-je faire autre chose comme définir le chemin du fichier?
Selon la documentation de MySQL
Si aucune valeur nom_fichier n'est donnée pour --log-slow-queries, le nom par défaut est nom_hôte-slow.log. Le serveur crée le fichier dans le répertoire de données sauf si un nom de chemin absolu est donné pour spécifier un répertoire différent.
Fonctionnement
AFFICHER LES VARIABLES
n'indique aucun chemin de fichier journal et je ne vois aucun fichier journal de requête lente sur mon serveur ...
ÉDITER
Il semble que j'utilise la version 5.0.77 du serveur, je devais donc faire:
SET GLOBAL log_slow_queries = 1;
mais j'obtiens: ERREUR 1238 (HY000): La variable 'log_slow_queries' est une variable en lecture seule
Je suppose que je vais devoir redémarrer le serveur et avoir log_slow_queries défini dans ma configuration?
Réponses:
Essayez
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.
la source
SET GLOBAL slow_query_log = 'OFF';
fonctionne également comme prévu.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:
Notez également de le placer sous une
[mysqld]
partie du fichier de configuration et de redémarrermysqld
.la source
sudo mkdir /var/log/mysql
sudo touch /var/log/mysql/slow-query.log
sudo chown -R _mysql /var/log/mysql/
log_slow_queries
est obsolète dans MySQL 5.1.29 parslow-query-log
. Le manuel de référence MySQL 5.1 contient plus de détails.Rechercher le journal activé ou non?
Définissez les journaux: -
la source
Manuel MySQL - fichier journal de requête lente
Cela prétend que vous pouvez exécuter ce qui suit pour définir le fichier de journal lent (à partir de la version 5.1.6):
La variable slow_query_log contrôle simplement si elle est activée ou non.
la source
Ces travaux
Cassé sur ma configuration 5.1.42
http://bugs.mysql.com/bug.php?id=32565
Il semble que la meilleure façon de faire ceci est de définir log_slow_time très haut, donc de "désactiver" le journal des requêtes lentes. Réduisez log_slow_time pour l'activer. Utilisez la même astuce (définie sur OFF) pour les log_queries_not_using_indexes.
la source
Je pense que le problème est de s'assurer que le serveur MySQL a les droits sur le fichier et peut le modifier.
Si vous pouvez l'obtenir pour avoir accès au fichier, vous pouvez essayer de définir:
SET GLOBAL slow_query_log = 1;
Sinon, vous pouvez toujours «recharger» le serveur après avoir modifié le fichier de configuration. Sur Linux, il est généralement
/etc/init.d/mysql reload
la source
Si vous souhaitez activer les journaux d'erreurs généraux et le journal des erreurs de requête lente dans la table au lieu du fichier
Pour commencer la connexion dans la table au lieu du fichier:
Pour activer le journal des requêtes générales et lentes:
Pour afficher les journaux:
Pour plus de détails, visitez ce lien
http://easysolutionweb.com/technology/mysql-server-logs/
la source
Cela devrait fonctionner sur mysql> 5.5
la source