Ответ 1
Журнал InnoDB находится в ib_logfile0 и ib_logfile1. Это файлы размером innodb_log_file_size
.
Чтобы изменить размер журналов InnoDB, сначала нужно отключить mysqld чисто. Это позволит убедиться, что все изменения в журнале уже были сброшены в ваши табличные пространства. Чистое выключение важно, потому что если вы не сделаете этого шага, у вас будет высокая вероятность потери данных.
После того, как вы окончательно отключили mysqld, ib_logfiles являются излишними. Вы должны rm
их изменить свой размер.
При перезапуске mysqld InnoDB отмечает, что файлы отсутствуют, и создает новый файл нового размера в соответствии с переменной innodb_log_file_size
в файле my.cnf. Поэтому убедитесь, что вы отредактируете этот файл перед перезагрузкой, иначе он просто создаст новые файлы размером 5 МБ.
MySQL 5.6 делает этот процесс немного проще. Вам не нужно rm
файлы журнала, но вам нужно перезапустить mysqld, чтобы сделать новый размер файла журнала вступающим в силу. Способ, которым он работает в 5.6, состоит в том, что если размер этих файлов отличается от переменной конфигурации, MySQL автоматически выполняет другой чистый перезапуск (чтобы убедиться, что файлы не содержат каких-либо изменений, которые не развязаны), а затем InnoDB изменяет размер файлов при окончательном запуске.
Другие файлы (mysql-bin.000001 и т.д.) являются двоичными журналами. Они могут вырасти до max_binlog_size
(по умолчанию это 1 ГБ), но двоичные журналы различаются по размеру, потому что новые журналы создаются всякий раз, когда вы перезапускаете mysqld или выполняете FLUSH LOGS
. Во всяком случае, они не имеют ничего общего с журналами InnoDB.
PS: Вам может понравиться эта статья: Как рассчитать хороший размер файла журнала InnoDB.