Veuillez ne pas simplement les supprimer dans le système d'exploitation.
Vous devez laisser mysqld le faire pour vous. Voici comment mysqld le gère:
Le fichier mysql-bin.[index]
conserve une liste de tous les journaux binaires que mysqld a générés et tournés automatiquement. Les mécanismes de nettoyage des journaux de travaux associés mysql-bin.[index]
sont les suivants:
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
Ceci effacera tous les journaux binaires avant le binlog ou l'horodatage que vous venez de spécifier.
Par exemple, si vous exécutez
PURGE BINARY LOGS TO 'mysql-bin.000223';
cela effacera tous les journaux binaires avant mysql-bin.000223
.
Si tu cours
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
cela effacera tous les journaux binaires avant minuit il y a 3 jours.
Si vous voulez que binlog disparaisse automatiquement et tourne pendant 3 jours, définissez simplement ceci:
mysql> SET GLOBAL expire_logs_days = 3;
puis ajoutez ceci à /etc/my.cnf
[mysqld]
expire_logs_days=3
et mysqld les effacera pour vous
AFFICHER LE STATUT SLAVE \ G
C'est critique. Lorsque vous exécutez SHOW SLAVE STATUS\G
, vous verrez deux journaux binaires du maître:
Master_Log_File
Relay_Master_Log_File
Lorsque la réplication a peu ou pas de retard, elles ont généralement la même valeur. Lorsqu'il y a beaucoup de retard de réplication, ces valeurs sont différentes. Simplement pour simplifier les choses, choisissez ce qui Relay_Master_Log_File
est, puis retournez voir le Maître et exécutez
PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';
De cette façon, la réplication n'est pas interrompue.
[mysqld] expire_logs_days=3
(et vous devez inclure la[mysqld]
section