A.1 Как определить, чем вызваны проблемы

При возникновении проблемы прежде всего следует обнаружить ее источник - программу или элемент оборудования:

  • Если присутствует один из следующих симптомов, то проблема, скорее всего, связана с аппаратным обеспечением (с памятью, материнской платой, процессором или жестким диском) либо с ядром:
    • Не работает клавиатура. Обычно ее работоспособность можно проверить по реакции на нажатие Caps Lock. Если индикатор Caps Lock не меняется, то клавиатуру необходимо заменить (прежде чем это сделать, следует попробовать перезагрузить компьютер и проверить все кабели к клавиатуре).
    • Не перемещается курсор мыши.
    • Машина не отвечает на ping-запросы удаленной машины.
    • Различные не связанные между собой программы не работают, как надо.
    • Система неожиданно перезагрузилась (дефектная программа пользовательского уровня никогда не должна быть способна вызвать отказ системы).
    В этом случае необходимо начать с проверки всех кабелей и запуска диагностических средств для проверки аппаратуры! Следует также проверить, нет ли патчей, обновлений, сервисных пакетов (service pack) для используемой операционной системы, при помощи которых вы, возможно, могли бы решить проблемы. Кроме того, следует удостовериться, что у вас установлены достаточно свежие версии библиотек (таких как glibc). Для раннего обнаружения проблем хорошо использовать машину с ECC-памятью!
  • В случае блокировки клавиатуры положение можно исправить, если войти на свою машину с другой машины и выполнить на своей машине kbd_mode -a.
  • Исследуйте свой системный журнальный файл (`/var/log/messages' или т.п.) на предмет причин возникающих проблем. Если есть основания полагать, что проблема - в MySQL, то следует также изучить журнальные файлы MySQL (see section 4.9.3 Журнал обновлений (update)).
  • Если вы считаете, что аппаратные проблемы отсутствуют, следует попробовать обнаружить вызывающую проблемы программу. Попробуйте с помощью top, ps, taskmanager или подобной программы проверить, какая программа забирает все ресурсы процессора или блокирует машину.
  • Проверьте с помощью top, df или подобной программы, нет ли нехватки памяти, дискового пространства, дескрипторов для открытия файлов или каких-либо других критических ресурсов.
  • Если проблема связана с бесконтрольным процессом, то всегда можно попробовать уничтожить его. Если он не хочет уничтожаться, то, вероятно, существует ошибка в операционной системе.

Если после изучения всех возможных причин вы сделали вывод, что источником проблемы является именно MySQL-сервер или клиент, то следует сделать отчет об ошибке для нашего списка рассылки или команды поддержки. В отчете об ошибке постарайтесь дать очень подробное описание поведения системы и свое мнение по поводу происходящего. Следует также объяснить, почему вы считаете, что проблемы вызывает именно MySQL. Примите во внимание все ситуации, описанные в данном разделе. Опишите все проблемы в точности так, как они наблюдаются при исследовании системы. При помещении в отчет для всего вывода программ и/или их сообщений об ошибках и/или подобной информации из журнальных файлов используйте метод "вырезать и вставить"!

Просьба детально описать, какая именно программа не работает, и какие симптомы вы наблюдали! Нам доводилось получать много отчетов об ошибках, где просто утверждалось, что "система не работает", - такие отчеты не давали никакой информации о характере возможной проблемы.

Если программа сбоит, то всегда полезно выяснить:

  • Не вызвала ли данная программа ошибки сегментации (core dump)?
  • Не забирает ли программа все ресурсы процессора? Проверьте с помощью top. Дайте программе немного поработать - возможно, она занимается сложными вычислениями.
  • Если проблемы вызваны именно сервером mysqld, то можно ли выполнить mysqladmin -u root ping или mysqladmin -u root processlist?
  • Что сообщает клиентская программа (попробуйте поработать, например, с mysql) при попытке соединиться с MySQL? Происходит ли заклинивание клиента? Выдает ли программа какой-нибудь вывод?

При посылке отчета об ошибке необходимо придерживаться схемы, описанной в этом руководстве (see section 1.8.1.2 Как задавать вопросы и направлять сообщения об ошибках).