E.1.2. Creating Trace Files
If the mysqld server doesn't start or if you
can cause it to crash quickly, you can try to create a trace
file to find the problem.
To do this, you must have a mysqld that has
been compiled with debugging support. You can check this by
executing mysqld -V
. If the version number
ends with -debug
, it's compiled with support
for trace files. (On Windows, the debugging server is named
mysqld-debug rather than
mysqld as of MySQL 4.1.)
Start the mysqld server with a trace log in
/tmp/mysqld.trace
on Unix or
C:\mysqld.trace
on Windows:
shell> mysqld --debug
On Windows, you should also use the
--standalone
flag to not start
mysqld as a service. In a console window, use
this command:
C:\> mysqld-debug --debug --standalone
After this, you can use the mysql.exe
command-line tool in a second console window to reproduce the
problem. You can stop the mysqld server with
mysqladmin shutdown.
Note that the trace file become very
big! If you want to generate a smaller trace file,
you can use debugging options something like this:
mysqld
--debug=d,info,error,query,general,where:O,/tmp/mysqld.trace
This only prints information with the most interesting tags to
the trace file.
If you make a bug report about this, please only send the lines
from the trace file to the appropriate mailing list where
something seems to go wrong! If you can't locate the wrong
place, you can ftp the trace file, together with a full bug
report, to ftp://ftp.mysql.com/pub/mysql/upload/ so that a MySQL
developer can take a look at it.
The trace file is made with the
DBUG package by Fred Fish. See
Section E.3, “The DBUG Package”.