Решение проблемы

Очистка и удаление файлов ib_logfile в Mysql


Небольшая заметка на тему изменения размера или удаления файлов ib_logfile0, ib_logfile1, ib_logfile2 и т.д. В этих файлах хранятся журналы транзакций innodb. В общем случае их можно безболезненно удалить или изменить размер. Ниже расскажу, как это сделать.

Что это вообще за файлы — ib_logfile0, ib_logfile1, ib_logfile2? Как я уже сказал, это файлы с журналами транзакций innodb. В конфигурации mysql за них отвечают следующие параметры:

innodb_log_file_size = 512M

innodb_log_files_in_group = 3

Тут указано, что максимальный размер журнала транзакции может быть 512 Мб, а всего таких журналов 3 штуки.

# ll /var/lib/mysql

Очистка и удаление файлов ib_logfile в Mysql

В общем случае, для того, чтобы уменьшить размер файлов ib_logfile0, ib_logfile1, ib_logfile2, достаточно изменить соответствующий параметр в конфиге mysql, корректно завершить работу и запустить заново mysql с новыми параметрами. Ключевое слово тут корректно. После завершения работы, обязательно убедитесь, проверив лог файл, что mysql завершила свою работу без ошибок. Иначе вы рискуете потерять данные, хранящиеся в журналах транзакций, если они по каким-то причинам не были перенесены в основную базу. На всякий случай, старые файлы можно временно перенести в другое место, не удалять.

После запуска будут созданы новые файлы ib_logfile в соответствии с новыми настройками.

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

СМОТРИ ТАКЖЕ