Если используемая версия 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 на используемой платформе или (что более предпочтительно) используйте одну из откомпилированных нами для вас бинарных поставок https://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 Раздел D.1.2, «Создание трассировочных файлов»). Если MySQL не был скомпилирован для отладки, то это стоит сделать - просто задайте опции--with-debug
дляconfigure
! Обращайтесь к разделу See Раздел 2.3, «Установка исходного дистрибутива MySQL».