MySQL Binary Log Disk Filling Up: Protect Replicas and PITR
Checks replica requirements and point-in-time recovery retention before safe purging and capacity actions as binlog disk space runs low.
Operational Safety & Risk Notice
This runbook contains operational intervention steps; several are write-impacting (KILL, terminate, DROP, RESIZE). Verify in a staging environment first, and apply sequentially in production with verification.
1. Symptom & Signals
- M23 artar; binlog dizininde boş alan <%20/%10. Yazmada `errno 28 No space left on device` veya binlog yazma hatası görülebilir.
2. Business & Technical Impact
Disk tamamen dolarsa yeni transaction ve binlog yazımı durur. Gereğinden erken purge, geride kalan replica'yı ve PITR (anlık zamana kurtarma) zincirini bozabilir.
3. Diagnosis & Root-Cause Analysis
SHOW BINARY LOGS;
SHOW GLOBAL VARIABLES LIKE 'log_bin_basename';
SHOW GLOBAL VARIABLES LIKE 'binlog_expire_logs_seconds'; -- 8.0
SHOW GLOBAL VARIABLES LIKE 'expire_logs_days'; -- 5.7OS'te `log_bin_basename` dizinini `df -h` ile ölçün. İlgili yapılandırma sürümde mevcut değilse satır dönmez.
SHOW REPLICA STATUS\G -- 8.0.22+; 5.7 / eski 8.0: SHOW SLAVE STATUS\G`Relay_Source_Log_File` (eski adı `Relay_Master_Log_File`) ve `Source_Log_File`/`Master_Log_File` alanlarını, GTID durumunu gözden geçirin. Gecikme/bağlantı kesilmesi varsa kaynağın hangi binlog'una hâlâ ihtiyaç duyulduğunu **replica konumundan** doğrulayın.
4. Remediation & Action Plan
PURGE BINARY LOGS TO 'mysql-bin.000123';Gerçek binlog adını `SHOW BINARY LOGS` çıktısından, en eski güvenli sınırı tüm replica konumları ile yedek politikasından belirleyin. MySQL hata verirse zorlamayın.
5. Verification & Health Checks
- İlgili filesystem boş alanı güvenli seviyede; yeni transaction yazabiliyor.
- Tüm replica'ların IO/SQL thread'leri çalışıyor ve gerekli binlog'lar mevcut; yedek/restore zinciri korunuyor.
6. Rollback & Contingency Plan
- `PURGE BINARY LOGS` geri alınamaz. Silmeden önce doğrulanmış arşiv/yedek yoksa replica'nın yeniden kurulması gerekebilir.
- Geçici yazma hız sınırını ve saklama ayarını onaylı hedefe döndürün.