MySQL: Очистка логов innodb


Получение состояния:

SHOW ENGINE innodb STATUS

Размер логов и информация о том, что содержится внутри:

SHOW BINARY LOGS
SHOW BINLOG EVENTS

Затем проверяем реальный размер логов в файловой системе и параметры:

innodb_log_file_size=64M
innodb_log_buffer_size=8M

Если вдруг обнаруживается, что логов слишком много -
то почистить старые логи можно такой командой:

PURGE BINARY LOGS BEFORE NOW() - INTERVAL 30 DAY

Эту операцию можно выполнять и по cron-расписанию:

echo 'PURGE BINARY LOGS BEFORE NOW() - INTERVAL 14 DAY' | mysql -u root -ppassword

Можно также заставить MySQL очищать бинарные логи
по команде FLUSH LOGS. Для этого в my.cnf нужно добавить:

expire_logs_days=14
max_binlog_size = 100M