17.20 Устранение неполадок InnoDB
Следующие общие рекомендации применяются к устранению неполадок с InnoDB:
При возникновении ошибки или подозрении на ошибку, проверьте журнал ошибок сервера MySQL (см. Раздел 7.4.2, «Журнал ошибок»). Он содержит информацию для устранения некоторых распространенных ошибок, связанных с
InnoDB, которые могут возникнуть.Если ошибка связана с блокировкой, запустите сервер с включенным параметром
innodb_print_all_deadlocks, чтобы подробности каждой тупиковой ситуации записывались в журнал ошибок сервера MySQL. Сведения о тупиковых ситуациях см. в Разделе 17.7.5, «Тупиковые ситуации в InnoDB».Если проблема связана со словарем данных
InnoDB, см. Раздел 17.20.4, «Устранение неполадок операций со словарем данных InnoDB».При устранении неполадок обычно лучше запустить сервер MySQL из командной строки, а не через mysqld_safe или как службу Windows. Таким образом, можно увидеть, что mysqld выводит на консоль, и получить лучшее представление о ситуации. В Windows запустите mysqld с параметром
--console, чтобы направить вывод в окно консоли.-
Включите
InnoDBмониторы, чтобы получить информацию о проблеме (см. Раздел 17.17, «Мониторы InnoDB»). Если проблема связана с производительностью или сервер завис, включите стандартный монитор, чтобы получить информацию о внутреннем состоянииInnoDB. Если проблема связана с блокировками, включите монитор блокировок. Если проблема связана с созданием таблиц, табличными пространствами или операциями со словарем данных, обратитесь к таблицам схемы InnoDB INFORMATION_SCHEMA, чтобы изучить содержимое внутреннего словаря данныхInnoDB.InnoDBвременно включает вывод стандартногоInnoDBмонитора в следующих случаях:Длительное ожидание семафора
InnoDBне может найти свободные блоки в кэше буферовБолее 67% кэша буферов занято кучами блокировок или адаптивным индексом хеширования
Если вы подозреваете, что таблица повреждена, выполните
CHECK TABLEдля этой таблицы.
© 2025 Oracle
Licensed under the GPLv2 License.