Nie usuwaj ich tylko w systemie operacyjnym.
Musisz pozwolić mysqld zrobić to za Ciebie. Oto jak mysqld zarządza tym:
Plik mysql-bin.[index]
przechowuje listę wszystkich dzienników binarnych wygenerowanych i automatycznie obróconych przez mysqld. Mechanizmy czyszczenia binlogów w połączeniu z mysql-bin.[index]
:
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
Spowodują to wyczyszczenie wszystkich dzienników binarnych przed określonym właśnie plikiem binlog lub datownikiem.
Na przykład, jeśli uruchomisz
PURGE BINARY LOGS TO 'mysql-bin.000223';
spowoduje to usunięcie wszystkich dzienników binarnych wcześniej mysql-bin.000223
.
Jeśli uciekniesz
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
spowoduje to usunięcie wszystkich dzienników binarnych przed północą 3 dni temu.
Jeśli chcesz, aby binlog został automatycznie obrócony i utrzymał 3 dni pracy, po prostu ustaw:
mysql> SET GLOBAL expire_logs_days = 3;
następnie dodaj to do /etc/my.cnf
[mysqld]
expire_logs_days=3
a mysqld usunie dla ciebie dzienniki
POKAŻ STATUS SLAVE \ G
To jest krytyczne. Po uruchomieniu SHOW SLAVE STATUS\G
zobaczysz dwa dzienniki binarne od Master:
Master_Log_File
Relay_Master_Log_File
Gdy replikacja ma niewielkie opóźnienie lub nie ma go wcale, są one zwykle tej samej wartości. Gdy występuje duże opóźnienie replikacji, wartości te są różne. Aby to ułatwić, wybierz cokolwiek Relay_Master_Log_File
jest i wróć do Mistrza i biegnij
PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';
W ten sposób replikacja nie jest przerywana.
[mysqld] expire_logs_days=3
(i musisz dołączyć[mysqld]
sekcję