Если используемая версия MySQL не проходит через тестовый пакет, следует поступать следующим образом:
Прежде всего, не отсылайте
отчет об ошибке, пока не
соберете максимального
количества сведений по
проблеме, с которой вы
столкнулись! Большая просьба к
вам - используйте для этого
сценарий mysqlbug, чтобы
мы имели возможность получить
как можно больше информации о
вашей системе и версии MySQL (see
Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах»).
Проследите за тем, чтобы в отчет
был включен вывод
mysql-test-run, а также
содержимое всех файлов
.reject из каталога
mysql-test/r.
Если тест из тестового пакета терпит неудачу, проверьте, будет ли он также неуспешным при выполнении его самого по себе:
cd mysql-test mysql-test-run --local test-name
Если тест не проходит, то
следует сконфигурировать MySQL с
--with-debug и запустить
mysql-test-run с опцией
--debug. Если он не
пройдет и в этом случае, следует
положить трассировочный файл
var/tmp/master.trace на
ftp://support.mysql.com/pub/mysql/secret,
чтобы мы могли его изучить.
Пожалуйста, не забудьте также
включить полное описание
используемой системы, версию
исполняемого файла
mysqld и описание того,
как он был скомпилирован.
Попробуйте также выполнить
mysql-test-run с опцией
--force, чтобы выяснить,
есть ли еще тесты, которые
система не проходит.
Если вы компилировали MySQL собственноручно, сверьтесь с нашим руководством в той его части, где дается описание компиляции MySQL на используемой платформе или (что более предпочтительно) используйте одну из откомпилированных нами для вас бинарных поставок http://www.mysql.com/downloads/. Все наши стандартные бинарные дистрибутивы должны проходить тестовый пакет!
Если получена ошибка, подобная
Result length mismatch или
Result content mismatch, то это
означает, что нет точного
совпадения между выходными
данными теста и контрольными
выходными данными. Это может
говорить об ошибке в MySQL или о
том, что при некоторых
обстоятельствах используемая
версия mysqld выдает
слегка отличающиеся
результаты. Результаты
неудачных тестов помещаются в
файл с тем же именем, что и у
файла результатов, но с
расширением .reject.
Если контрольный тест терпит
неудачу, то по этим двум файлам
следует выполнить diff.
Если не удается обнаружить, в
чем их отличия, исследуйте оба
файла с помощью od -c, а
также проверьте их размеры.
Если тест полностью потерпел
фиаско, то для выяснения
причины неполадок следует
обратиться к файлам журналов в
каталоге mysql-test/var/log.
Если MySQL был скомпилирован в
отладочном режиме, то можно
попробовать выполнить отладку,
запустив mysql-test-run с
опциями --gdb и/или
-debug (see
Раздел E.1.2, «Создание трассировочных файлов»). Если MySQL не
был скомпилирован для отладки,
то это стоит сделать - просто
задайте опции --with-debug
для configure!
Обращайтесь к разделу See
Раздел 2.3, «Установка исходного дистрибутива MySQL».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
