Bitte löschen Sie diese nicht einfach im Betriebssystem.
Sie müssen mysqld das für Sie tun lassen. So schafft es mysqld:
Die Datei enthält mysql-bin.[index]
eine Liste aller von mysqld generierten und automatisch gedrehten Binärprotokolle. Die Mechanismen zum Löschen der Binlogs in Verbindung mit mysql-bin.[index]
sind:
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
Dadurch werden alle Binärprotokolle vor dem soeben angegebenen Binärprotokoll oder Zeitstempel gelöscht.
Zum Beispiel, wenn Sie laufen
PURGE BINARY LOGS TO 'mysql-bin.000223';
Dadurch werden alle Binärprotokolle zuvor gelöscht mysql-bin.000223
.
Wenn du läufst
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
Dadurch werden alle Binärprotokolle vor Mitternacht vor 3 Tagen gelöscht.
Wenn Sie möchten, dass binlog automatisch entfernt wird und 3 Tage erhalten bleibt, stellen Sie einfach Folgendes ein:
mysql> SET GLOBAL expire_logs_days = 3;
dann füge dies hinzu zu /etc/my.cnf
[mysqld]
expire_logs_days=3
und mysqld löscht sie protokolle für sie
SHOW SLAVE STATUS \ G
Das ist kritisch. Wenn Sie ausführen SHOW SLAVE STATUS\G
, sehen Sie zwei Binärprotokolle vom Master:
Master_Log_File
Relay_Master_Log_File
Wenn die Replikation keine oder nur geringe Verzögerungen aufweist, haben diese normalerweise denselben Wert. Wenn eine große Replikationsverzögerung vorliegt, unterscheiden sich diese Werte. Um es einfach zu machen, wähle, was auch immer Relay_Master_Log_File
ist, und gehe zurück zum Meister und renne
PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';
Auf diese Weise wird die Replikation nicht unterbrochen.
[mysqld] expire_logs_days=3
(und Sie müssen den[mysqld]
Abschnitt