Вопрос

Итак, я хотел бы иметь возможность установить максимальный размер файла журнала равным 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top