Установка innodb_log_file_size приводит к сбою MySQL
Вопрос
Итак, я хотел бы иметь возможность установить максимальный размер файла журнала равным 64 М, но после выполнения этого с помощью innodb_log_file_size=64M
MySQL запускается нормально, но, похоже, ничего не работает должным образом.
Редактировать: и под "должным образом" я подразумеваю "вовсе нет".Установка других переменных InnoDB не вызывает никаких проблем.
Как мне следует приступить к устранению неполадок в этом случае?
Решение
Убедитесь, что MySQL корректно завершает работу, и удаляйте (или перемещайте в другое место) все файлы ib_logfile *
из каталога данных MySQL (обычно / var / lib / mysql /
). р>
Я проверил это и работал на меня. Вот источник этой подсказки .
InnoDB сообщает о некоторых ошибках в поле комментария show status
. Другие проблемы вы найдете в журнале ошибок MySQL ( hostname.err
в каталоге данных MySQL).
Другие советы
Я тоже столкнулся с этой проблемой, и согласно ответу @ porneL, здесь были мои конкретные шаги bash, чтобы исправить это:
service mysql stop # Stop MySQL
rm /var/lib/mysql/ib_logfile0 # Delete log file 1
rm /var/lib/mysql/ib_logfile1 # Delete log file 2
vim my.conf # Change innodb_log_file_size = 64M
service mysql start # Start MySQL
Я нашел эти конкретные шаги на форумах MySQL . р>
Перед изменением innodb_log_file_size размер файла, вы должны удалить из него все оставшиеся транзакционные данные.Вы просто устанавливаете innodb_fast_shutdown innodb_fast_shutdown до 0 или 2.
- innodb_fast_shutdown = 0 :InnoDB выполняет медленное завершение работы, полную очистку и слияние буфера вставки перед завершением работы
- innodb_fast_shutdown = 2 :InnoDB сбрасывает свои журналы и холодно завершает работу, как если бы MySQL потерпел крах;зафиксированные транзакции не теряются, но из-за аварийного восстановления следующий запуск занимает больше времени.
В свете этого, вот как вы с этим справляетесь
mysql -ANe"SET GLOBAL innodb_fast_shutdown = 2"
vi /etc/my.cnf # Change innodb_log_file_size = 64M
service mysql stop # Stop MySQL
rm /var/lib/mysql/ib_logfile0 # Delete log file 1
rm /var/lib/mysql/ib_logfile1 # Delete log file 2
service mysql start # Start MySQL