Однажды увеличивая размер «innodb_log_file_size», я заметил ошибку в файле /var/log/mysql/error.log:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
[ERROR] Plugin ‘InnoDB’ init function returned error.
[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
Как видим по сообщению в ошибке, размер существующего файла ib_logfile0 равен 5M, а значение для «innodb_log_file_size» указано 256M, это верно, ведь я его увеличил в файле конфигурации mysql, по этому и возникает ошибка. Хотя это странно, так как я часто увеличивал «innodb_log_file_size» и MySQL сервер при запуске удалял старые файлы ib_logfile и создавал новые, но в этом случае мне пришлось удалить их вручную (останавливать MySQL сервер при этом обязательно):
/etc/init.d/mysql stop
rm /var/lib/mysql/ib_logfile*
/etc/init.d/mysql start
После этого в логах отобразилась информация:
InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 256 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Progress in MB: 100 200
InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 256 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Progress in MB: 100 200
И MySQL сервер успешно запустился.
Ошибку также можно решить если указать в файле конфигурации MySQL старое значение для «innodb_log_file_size».
Смотрите также мою статью:
Изменение InnoDB log file size в MySQL