Бинарные логи mysql
С недавних пор обнаружил, что на моёй виртуальной машине, где размещается сайт, как-то подозрительно быстро заканчивается место на жестком диске. Проведя небольшое расследование, обнаружил, что главный виновник — бинарные логи mysql. Странно конечно, потому что в конфигурационных файлах mysql настройка log-bin отключена:
И вестись они в принципе не должны. Вообще, бинарные логи обычно нужны только в том случае если:
- настроена репликация с другим сервером
- необходимо иметь возможность восстановить поврежденную базу данных (вдруг бекапы не делаете)
В остальных случаях она не нужна. Хм.. ну уже если отключить не удаётся, по неизвестной причине, то можно ограничить накопление логов ключами:
- expire_logs_days=3 — ограничить глубину логов 3 днями
- max_binlog_size =100M — ограничить размер файла логов 100 мегабайтами
Чуть погуглив, обнаружил, что в свежих версиях mysql логи отключаются теперь другим ключем: disable-log-bin
Однако.. что делать с файлами логов, если они не были отключены и накопились? Удалять их руками черевато возникновением ошибок. Поэтому лучше войти в консоль mysql и выполнить следующую команду:
1 |
RESET MASTER; |
Ну и на всякий случай, удалить логи старше Х дней можно вот так:
1 |
PURGE BINARY LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 5 DAY); |
Могу порекомендовать еще посмотреть мою старую шпаргалку по MySQL и другие лайфхаки