MySQL Data Disk Full: Free Space Safely and Restore Service
Separates data, binlog, temp and backup causes of a full disk; restores space without breaking the recovery chain.
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
- M24 kritik (<%10 boş), MySQL error log'da `No space left on device`/errno 28; yazma, geçici tablo veya binlog işlemleri başarısız.
2. Business & Technical Impact
Yazmalar durabilir, replika gecikebilir; temp alanı dolarsa sorgular hata verir. Ani restart, kurtarma için gereken boş alan yoksa açılmayı da engelleyebilir.
3. Diagnosis & Root-Cause Analysis
SHOW GLOBAL VARIABLES WHERE Variable_name IN
('datadir','tmpdir','log_bin_basename','innodb_data_home_dir');
SHOW BINARY LOGS;df -h /var/lib/mysql /tmpYollar ve mount'lar örnektir; `datadir`/`tmpdir` çıktısındaki gerçek yolları OS'te kontrol edin. Ayrıca inode doluluğunu `df -i` ile bakın.
4. Remediation & Action Plan
5. Verification & Health Checks
- Gerçek data/temp/binlog mount'larında boş alan hedefin üzerine çıktı; inode'lar uygun.
- Uygulamada yazma/okuma başarılı, error log'da yeni disk hatası yok; replica'lar yakaladı.
- Yedek alınabiliyor ve son yedeğin geri yüklenebilirliği doğrulanıyor.
6. Rollback & Contingency Plan
- Kaldırılan arşiv/yedekler ve PURGE işlemi geri alınamaz; temizlemeden önce dış kopyayı doğrulayın.
- Geçici batch kısıtını kapasite güvenli hale geldikten sonra kontrollü kaldırın; volume büyütmeyi geri almaya çalışmayın.