Activer les logs de requêtes MySQL à la volée

Classé dans : Bases de données | Aucun commentaire

mercredi 01 février 2012

Voici une astuce pour activer/désactiver les logs de requêtes (general log) de MySQL sans avoir à redémarrer le service.

1. Préparation du serveur

Il va quand même falloir redémarrer le service au moins une fois pour activer un paramètres par défaut : l'emplacement du fichier de log.

Ceci est facultatif mais nous évitera d'avoir à le respécifier à chaque fois.

Pour ce faire, il suffit d'éditer le fichier my.ini (ou my.cnf sous Linux) et d'ajouter/modifier la directive suivante :

general_log_file  = E:/MySQL/Logs/query.log

il faut donc logiquement redémarrer le service pour prendre en compte ce paramètre.

2. Activation du log à la volée

Dans une invite de commande MySQL ou tout autre outil capable d'exécuter des requêtes mysql avec un utilisateur ayant des droits d'admin, il faut lancer la commande suivante :

SET GLOBAL general_log = 'ON';

Les logs sont activés et ajoutés au fichier défini ci-dessus.

3. sactivation des logs

Il suffit de repasser le paramètre à OFF :

SET GLOBAL general_log = 'OFF';

Le fichier de log est alors déverrouillé par MySQL et nous pouvons le manipuler comme nous le souhaitons (déplacement, suppression,...)