Небольшая заметка на тему изменения размера или удаления файлов 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_logfile0, ib_logfile1, ib_logfile2, достаточно изменить соответствующий параметр в конфиге mysql, корректно завершить работу и запустить заново mysql с новыми параметрами. Ключевое слово тут корректно. После завершения работы, обязательно убедитесь, проверив лог файл, что mysql завершила свою работу без ошибок. Иначе вы рискуете потерять данные, хранящиеся в журналах транзакций, если они по каким-то причинам не были перенесены в основную базу. На всякий случай, старые файлы можно временно перенести в другое место, не удалять.
После запуска будут созданы новые файлы ib_logfile в соответствии с новыми настройками.
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите подробнее программу ссылке.