Circum Blog

Circum Net – IT – Conseils pratiques

MySQL et le fichier journal

Bases de données, MySQL

Démarré avec le paramètre ‘–log-bin[=file_name]’, le serveur mysql enregistre dans un fichier de logs (fichier journal) toutes le commandes SQL ayant donné lieu à des modifications de données.

L’intérêt d’un tel fichier, dans le cadre d’une politique de backup du serveur, est de pouvoir plus facilement récupérer les dernières opérations sur les données en cas d’arrêt brutal du système (coupure d’alimentation, plantage du système, etc.). Il constituera la source pour la ré-exécution des requêtes qui ont eu lieu après la dernière sauvegarde.

Lancement via la ligne de commande :

> bin\mysqld-nt –log-bin standalone

L’activation du système de logging peut également être réalisée via le fichier de configuration du serveur (my.ini ou my.cnf) en y ajoutant –sous la rubrique [mysqld]- la clause suivante :

set-variable=log-bin=[dir_path]

exemple :

set-variable=log-bin=c:/mysql/data

Si aucun nom de fichier n’est précisé en argument alors le système utilise et stocke les informations dans un fichier portant le nom de la machine hôte suivi du suffixe ‘-bin’. Le répertoire par défaut pour l’écriture de ce fichier est le répertoire de données du serveur (‘data’ ou ‘var’).

Il est possible d’analyser le contenu du fichier de logs avec l’utilitaire ‘mysqlbinlog’ qui se trouve dans le répertoire ‘bin’ de votre installation.

> bin\mysqlbinlog E:\dbdata\mysql\GRD-Laptop-bin.001

Pour rafraîchir, sauvegarder et remettre à zéro les fichiers de logs, il faut utiliser l’exécutable ‘mysqladmin’.

> bin\mysqladmin flush-logs