Mysql error ib_logfile0 is of different size

Что делать, если во время перезапуска Mysql показывает подобную ошибку:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
100118 20:52:52 [ERROR] Plugin 'InnoDB' init function returned error.
100118 20:52:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
100118 20:52:52 [ERROR] Unknown/unsupported table type: InnoDB
100118 20:52:52 [ERROR] Aborting

# Цифры могут быть другими

Это значит, что с момента последней перезагрузки в файле my.cnf был изменен такой параметр:

innodb_log_file_size  = 256M

Как видно из ошибки, фактический размер ib_logfile файлов составляет 5Мб, хотя в настройках указан размер в 256Мб. Существует два варианта решения этой проблемы.

1. Изменить размер лог файлов на правильный

В нашем случае необходимо изменить настройки в my.cnf на:

innodb_log_file_size  = 5M

После этого повторно запустить Mysql.

2. Обновить размер файлов

Для того, чтобы Mysql заработал с новой настройкой, необходимо сначала остановить Mysql:

/etc/init.d/mysql stop

После этого удалить все текущие бинлоги:

rm /var/lib/mysql/ib_logfile*

# Нужно удалить оба файла: ib_logfile0 и ib_logfile1

И снова запустить Mysql, он сам пересоздаст эти файлы:

/etc/init.d/mysql start

Подпишитесь на Хайлоад с помощью Google аккаунта
или закройте эту хрень