MySQL tient-il un journal des transactions et, le cas échéant, où pourrais-je le trouver?
Un certain nombre de lignes ont été mystérieusement supprimées d'une table et je veux essayer de voir comment et quand cela s'est produit.
Si vous avez activé - mysql peut suivre journal binaire , qui contient toutes les modifications (pour être clair - il contient les requêtes qui ont changé quelque chose).
Quoi qu'il en soit, il est inutile si vous ne disposez pas du vidage initial, qui précède l'activation du journal bin. Aussi, je suppose que si vous faisiez le vidage et allumiez binlog, vous ne poseriez pas cette question: -S
Si vous utilisez MySql sous Windows, il existe un fichier dans C:\Program Files\MySQL\MySQL Server 5.0\data
(en supposant un lecteur C: pour la cible d'installation et MySql version 5.0), appelé% COMPUTERNAME% .log qui contient les commandes exécutées.
Réponse courte: pas par défaut.
Pour obtenir des résultats de journalisation précis, vous devez d'abord avoir démarré le serveur en mode de journalisation binaire, à l'aide du paramètre --log-bin=your-file-name
. Il crée ensuite un fichier journal binaire <> où seq
est un numéro de séquence pour les fichiers journaux suivants (il est recommandé de placer votre nom de fichier ici, avec l'emplacement du répertoire explicite).
Plus d'informations sur le site MySQL expliquant tous les détails: https://dev.mysql.com/doc/refman/5.7/fr/binary-log.html