Если сервер mysqld
не запускается или если вы можете вызвать его скорую
аварийную остановку, то для выяснения причин неполадок можно попытаться
создать трассировочный файл.
Для этого необходимо иметь mysqld
, скомпилированный для отладки.
Проверить, скомпилирован ли mysqld
для отладки можно, выполнив mysqld -V
.
Если номер данной версии заканчивается на -debug
, то она скомпилирована с
поддержкой трассировочных файлов.
Запустите сервер mysqld
с журналом трассировки в каталоге
/tmp/mysqld.trace
(или C:\mysqld.trace
под Windows):
mysqld --debug
Под Windows необходимо также использовать флаг --standalone
, чтобы mysqld
не стартовал как сервис:
В окне DOS введите следующее:
mysqld --debug --standalone
После этого можно использовать клиента командной строки mysql.exe
во
втором окне DOS, чтобы воспроизвести проблему. Для остановки описанного
выше сервера mysqld
следует воспользоваться командой mysqladmin shutdown
.
Следует учесть, что трассировочный файл получится очень большим! Чтобы получить трассировочный файл меньшего размера, можно использовать что-нибудь вроде:
mysqld --debug=d,info,error,query,general,where:O,/tmp/mysqld.trace
при этом в каталог /tmp/mysqld.trace
будет выводиться только информация
с наиболее интересными для вас признаками.
Если вы создаете отчет о подобных ошибках, то, пожалуйста, присылайте в соответствующий список рассылки только те строки из трассировочного файла, которые, по вашему мнению, имеют непосредственное отношение к ошибке! Те же, кто затрудняются определить место ошибки, могут загрузить на ftp трассировочный файл вместе с отчетом об ошибках по адресу ftp://support.mysql.com/pub/mysql/secret/, чтобы разработчики MySQL могли взглянуть на него.
Трассировочный файл создается с помощью пакета DBUG
, автором которого
является Фред Фиш (Fred Fish). See Раздел D.3, «Пакет DBUG».