14.6.1 Requêtes SQL pour contrôler les maîtres de réplication
14.6 Commandes de réplication
14 Syntaxe des commandes SQL
Manuel de Référence MySQL 4.1 : Version Française
->PURGE MASTER LOGS . RESET MASTER . SET SQL_LOG_BIN . SHOW BINLOG EVENTS . SHOW MASTER LOGS . SHOW MASTER STATUS . SHOW SLAVE HOSTS
|
14.6.1.1 PURGE MASTER LOGS
PURGE {MASTER | BINARY} LOGS TO 'log_name' PURGE {MASTER | BINARY} LOGS BEFORE 'date'
|
Efface tous les logs binaires listés dans l'index de logs, qui sont
antérieurs à la date ou au log indiqué. Les logs sont aussi
supprimés de cette liste : le log donné en paramètre devient alors
le premier de la liste.Exemple :
PURGE MASTER LOGS TO 'mysql-bin.010'; PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
|
La variante
BEFORE
est disponible en MySQL 4.1; sont argument de date
peut être au format
'YYYY-MM-DD hh:mm:ss'
.
MASTER
et
BINARY
sont synonymes, mais
BINARY
ne peut être
utilisé que depuis MySQL 4.1.1.Si vous avez un esclave actif qui est actuellement en train de lire l'un
des logs que vous voulez effacer, la commande ne fera rien, et échouera
avec une erreur. Cependant, si l'esclave est inactif, et que vous
effacez un des logs qu'il utilisait, l'esclave sera incapable de
reprendre la réplication. Cette commande peut être utilisée sans
problème durant la réplication : vous n'avez pas besoin d'arrêter les
esclaves.
Pour purger les logs, suivez cette procédure :
- Sur chaque esclave, utilisez la commande
SHOW SLAVE STATUS
pour vérifier
quel log est lu.
- Faite une liste des logs sur le maître avec
SHOW MASTER LOGS
.
- Déterminez le plus ancien log parmi ceux utilisés par les esclaves.
C'est votre limite. Si vous les esclaves sont à jour, alors ce sera le
dernier log de la liste.
- Faites une sauvegarde de tous les logs que vous allez effacer. Cette
étape est optionnelle, mais c'est une bonne idée.
- Purgez tous les logs jusqu'à celui qui précède votre limite.
|