Lütfen onları işletim sisteminden silmeyin.
MySQL'in bunu senin için yapmasına izin vermelisin. İşte mysqld bunu nasıl yönetiyor:
Dosya mysql-bin.[index]
, mysqld'ün ürettiği ve otomatik döndürdüğü tüm ikili günlüklerin bir listesini tutar. İkili dosyaların birlikte temizlenmesi için mekanizmalar mysql-bin.[index]
şunlardır:
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
Bunlar, daha önce belirttiğiniz binlog veya timetamp'tan önceki tüm ikili günlükleri temizleyecektir.
Örneğin, koşarsanız
PURGE BINARY LOGS TO 'mysql-bin.000223';
bu daha önce tüm ikili günlükleri siler mysql-bin.000223
.
Eğer koşarsan
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
bu, 3 gün önce gece yarısından önce tüm ikili günlükleri siler.
Binlog'un otomatik olarak dönmesini ve 3 gün boyunca devam etmesini istiyorsanız, şunu ayarlayın:
mysql> SET GLOBAL expire_logs_days = 3;
sonra bunu /etc/my.cnf
[mysqld]
expire_logs_days=3
ve mysqld sizin için günlükleri siler
SLAVE DURUMUNU GÖSTER \ G
Bu kritik. Çalıştırdığınızda SHOW SLAVE STATUS\G
, Master’dan iki ikili günlük göreceksiniz:
Master_Log_File
Relay_Master_Log_File
Çoğaltma çok az geciktiğinde veya hiç gecikme olmadığında bunlar genellikle aynı değerdir. Çok fazla çoğaltma gecikmesi olduğunda, bu değerler farklıdır. Sadece basitleştirmek için, ne Relay_Master_Log_File
olduğunu seçin ve Üstada geri dönün ve koşun
PURGE BINARY LOGS TO 'Whatever Relay_Master_Log_File Is';
Bu şekilde, çoğaltma kesintiye uğramaz.
[mysqld] expire_logs_days=3
(ve[mysqld]
bölümü