MySQL- Руководство разработчика




Как сообщать об ошибках и сбоях - часть 3


Пожалуйста, включите следующую информацию в Ваш отчет:

  • Версия дистрибутива MySQL (например, MySQL Version 3.22.22). Вы можете выяснить, которой версией пользуетесь, командой mysqladmin version. mysqladmin может быть найден в каталоге bin под каталогом установок MySQL.
  • Изготовитель и модель машины, на которой Вы работаете.
  • Имя операционной системы и версия. Для большинства операционных систем, Вы можете получить эту информацию, выполняя Unix-команду uname -a.
  • Иногда объем памяти (реальной и виртуальной) релевантен. Если сомневаетесь, включите эти значения.
  • Если Вы используете исходники MySQL, нужны имя и версия компилятора. Если Вы имеете двоичный дистрибутив, необходимо его имя. Если проблема происходит в течение трансляции, включите точное сообщение об ошибках, а также несколько строк контекста кода из файла, где ошибка произошла.
  • Если mysqld рухнул, Вы должны также сообщить запрос, который потерпел крах. Вы можете обычно найти его, запуская mysqld с включеным протоколированием.
  • Если любая таблица базы данных связана с проблемой, включите вывод из mysqldump --no-data db_name tbl_name1 tbl_name2 .... Это очень простой и мощный способ получить информацию относительно любой таблицы в базе данных, которая поможет создать ситуацию, соответствующую той, что у Вас.
  • Для связанных с быстродействием ошибок или проблем с инструкциями SELECT Вы должны всегда включать вывод EXPLAIN SELECT ... и по крайней мере число строк, которые производит инструкция SELECT. Большее количество информации, которую Вы даете относительно Вашей ситуации, делает более вероятным, что кто-то сможет помочь Вам! Например, следующее представляет собой пример очень хорошо составленного отчета об ошибке (это должно быть, конечно, создано с помощью скрипта mysqlbug). Обратите внимание на использование признака конца оператора \G для инструкций, чья ширина вывода иначе превысила бы 80 символов: mysql> SHOW VARIABLES; mysql> SHOW COLUMNS FROM ...\G < Вывод SHOW COLUMNS> mysql> EXPLAIN SELECT ...\G < Вывод EXPLAIN> mysql> FLUSH STATUS; mysql> SELECT ...; < Короткая версия вывода из SELECT, включая время, затраченное на обработку запроса> mysql> SHOW STATUS; < Вывод SHOW STATUS>



  • Содержание  Назад  Вперед