Проблема, изменяющаяся innodb_log_file_size

Я не уверен, понимаю ли я Ваш вопрос правильно. Это немного неясно. Однако то, что могло бы смущать Вас, следующее:

  1. При передаче ссылкой, ссылка на тот же объект передается вызванной функции. Любые изменения в объекте будут отражены в исходном объекте, и следовательно вызывающая сторона будет видеть его.

  2. При передаче значением, конструктора копии вызовут. Конструктор копии по умолчанию только сделает мелкую копию, следовательно, если вызванная функция изменит целое число в объекте, то это не будет замечено функцией вызова, но если функция изменит структуру данных, на которую указывает указатель в объекте, то это будет замечено вызывающей стороной из-за мелкой копии.

я, возможно, неправильно понял Ваш вопрос, но я думал, что дам ему удар так или иначе.

7
задан savageguy 13 August 2009 в 17:14
поделиться

5 ответов

Во-первых, я должен указать, что перед любым изменением файлов данных InnoDB следует прочитать 13.2.5. Добавление, удаление или изменение размера файлов данных и журналов InnoDB .

Указанные вами шаги почти правильные. Перед такими изменениями рекомендуется делать резервную копию. Давайте посмотрим, что с вами случилось:

Сообщения об ошибках

 InnoDB: Ошибка: файл журнала ./ib_logfile0 имеет другой размер 0 5242880 байт
InnoDB: чем указано в файле .cnf 0 268435456 байт!

вызваны изменением размера innodb_log_file_size и не удалением старых файлов. Возможно, вы забыли удалить де ib_logfile0 / 1 при первом запуске mysqld после изменения. Сообщение

 090813 11:00:18 [Примечание] / usr / sbin / mysqld: готово к подключению.

показывает, что вы решили эту проблему (удалив ib_logfile s). Но, удаляя их, вы создаете другую проблему. Повреждены данные для XXXX \ User.frm или возникла какая-то проблема с InnoDB Engine.

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

show variables like "%inno%";

В списке результатов должно быть " have_innodb = YES ". Иногда, когда InnoDB может не запускаться (значение NO или DISABLED ), появляется сообщение Неверная информация в файле .
- Если это проблема, вы изменили что-то еще, что препятствует правильному запуску InnoDB Engine (разрешения datadir или tmpdir, другие переменные innodb ( вы не показали полный журнал. ) и т. Д. .). Просмотрите изменения или поместите файлы .cnf (до и после).
- Если InnoDB Engine имеет значение ДА , вам необходимо восстановить таблицу. (Если это так, добавьте комментарий, и я добавлю сюда информацию. Мне лень делать это сейчас.)

15
ответ дан 6 December 2019 в 12:53
поделиться

Первая строка ошибки предполагает, что вы не удалили файл ib_logfile0. Вы можете подтвердить, что переименовываете / удаляете нужный?

1
ответ дан 6 December 2019 в 12:53
поделиться

Что нужно проверить:

  • Достаточно ли места на устройстве для создания файла журнала такого размера? Такое поведение может исходить от полного устройства.
  • Созданы ли файлы журнала с неправильными настройками?
  • Ваш путь к файлу журнала не отображается как абсолютный. Просто для усмешки, посмотрите, есть ли на вашем диске другие места, содержащие файл ib_logfile0. Возможно, это глупая ошибка.
0
ответ дан 6 December 2019 в 12:53
поделиться

Пробовали ли вы использовать клиент SQL для редактирования поля innodb_log_file_size ?

Лично мне нравится SQuirreL

0
ответ дан 6 December 2019 в 12:53
поделиться

Я подозреваю, что вы удалили не те файлы журнала. поищите другие файлы ib_logfile *. может быть, вы используете innodb_log_group_home_dir?

если да, убедитесь, что вы удалили оттуда файлы ib_log, а не каталог данных.

0
ответ дан 6 December 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: