Si vous voulez savoir ce qui se passe à l'intérieur de
mysqld
, vous devez le démarrer avec
--log[=fichier]
. Cela aura pour effet d'écrire
toutes les connexions et les requêtes dans le fichier de log
(pas défaut nommé 'hostname'.log
). Ce log
peut être très utile quand vous suspectez une erreur dans un
client et voulez savoir exactement ce que
mysqld
pense que le client lui a envoyé.
Les anciennes versions du script mysql.server
(de MySQL 3.23.4 à 3.23.8) passent à
safe_mysqld
une option --log
(active le log général de requêtes). Si vous avez besoin de
meilleurs performances lorsque vous démarrez MySQL dans un
environnement de production, vous pouvez supprimer l'option
--log
de mysql.server
ou la
changer en --log-bin
. See
Section 5.9.4, « Le log binaire ».
mysqld
écrit le scommandes dans le log de
requêtes, dans l'ordre où il les rec¸oit. Cela peut être
différent de l'ordre dans lequel elles sont exécutées. Cela
est différent du log de modifications et du log binaire, qui
sont toujours écrits après exécution, mais avant la
libération des verrous.
Les redémarrage de serveur et les écritures de logs ne génèrent pas un nouveau fichier de log de requêtes (même si l'écriture des logs ferme puis ouvre à nouveau le fichier). Sous Unix, vous pouvez renommer le fichier et en créer un nouveau avec les commandes suivantes :
shell>mv hostname.log hostname-old.log
shell>mysqladmin flush-logs
shell>cp hostname-old.log to-backup-directory
shell>rm hostname-old.log
Sous Windows, vous ne pouvez pas renommer le fichier de logs, alors que le serveur l'a ouvert. Vous devez arrêter le serveur, puis renommer le log. Puis, redémarrez le le serveur pour créer un nouveau log.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.