Spec-Zone .ru
спецификации, руководства, описания, API

C.5.4.2. Что к Do If MySQL Продолжает Отказывать

Каждая версия MySQL тестируется на многих платформах прежде, чем она будет выпущена. Это не означает, что нет никаких ошибок в MySQL, но если есть ошибки, они должны быть очень немногими и могут быть тверды найти. Если у Вас есть проблема, всегда помогает, пытаетесь ли Вы узнать точно, что разрушает Вашу систему, потому что у Вас есть намного лучший шанс получения проблемы, решенной быстро.

Во-первых, следует попытаться узнать, является ли проблема, что mysqld сервер умирает или имеет ли Ваша проблема отношение к Вашему клиенту. Можно проверить, сколько времени Ваш mysqld сервер произошел, выполняясь mysqladmin версия. Если mysqld умер и перезапустил, можно найти причину, смотря в журнале ошибок сервера. См. Раздел 5.2.2, "Журнал ошибок".

На некоторых системах можно найти в журнале ошибок трассировку стека того, где mysqld умер, который можно разрешить с resolve_stack_dump программа. См. MySQL Internals: Портирование на Другие Системы. Отметьте, что значения переменных, записанные в журнале ошибок, возможно, всегда не на 100 % корректны.

Много катастрофических отказов сервера вызываются поврежденными файлами данных или индексными файлами. MySQL обновляет файлы на диске с write() системный вызов после каждого SQL-оператора и перед клиентом уведомляется о результате. (Это не истина, если Вы работаете с --delay-key-write, когда файлы данных пишутся, но не индексные файлы.) Это означает, что содержание файла данных безопасно, даже если mysqld отказывает, потому что операционная система гарантирует, что несброшенные данные пишутся диску. Можно вынудить MySQL сбросить все к диску после каждого SQL-оператора, запускаясь mysqld с --flush опция.

Предыдущие средства, что обычно недопустимо получить поврежденные таблицы, если одно из следующего не происходит:

Поскольку очень трудно знать, почему что-то отказывает, сначала попытайтесь проверить, ли вещи, которые работают на катастрофический отказ других для Вас. Попробуйте следующие вещи: