Spec-Zone .ru
спецификации, руководства, описания, API
|
If you have some very specific problem, you can always try to debug MySQL. To do this you must configure MySQL
with the -DWITH_DEBUG=1
option. You can check whether MySQL was compiled with debugging
by doing: mysqld --help. If the --debug
flag is listed with the options then you have debugging enabled. mysqladmin
ver also lists the mysqld version as mysql ... --debug in this case.
If mysqld stops crashing when you compile it with -DWITH_DEBUG=1
, you probably have found a compiler bug or a timing bug within
MySQL. In this case, you can try to add -g
to the CFLAGS
and CXXFLAGS
environment variables and not
use -DWITH_DEBUG=1
. If mysqld dies, you can at least attach to it with gdb or use gdb on
the core file to find out what happened.
When you configure MySQL for debugging you automatically enable a lot of extra safety check functions that
monitor the health of mysqld. If they find something "unexpected," an entry is written to stderr
,
which mysqld_safe directs to the error log! This also means that
if you are having some unexpected problems with MySQL and are using a source distribution, the first thing you
should do is to configure MySQL for debugging! (The second thing is to send mail to a MySQL mailing list and ask
for help. See Section
1.6.1, "MySQL Mailing Lists". If you believe that you have found a bug, please use the instructions at
Section 1.7,
"How to Report Bugs or Problems".
In the Windows MySQL distribution, mysqld.exe
is by default compiled with support
for trace files.