Oracle 5.0 Reference Manual page 2983

Table of Contents

Advertisement

benchmarks that simulates your application. The benchmarks can be found in the
directory in a source distribution or, for a binary distribution, in the
MySQL installation directory.
• Try the
fork_big.pl
• If you configure MySQL for debugging, it is much easier to gather information about possible errors
if something goes wrong. Configuring MySQL for debugging causes a safe memory allocator to
be included that can find some errors. It also provides a lot of output about what is happening.
Reconfigure MySQL with the
and then recompile. See
configure
• Make sure that you have applied the latest patches for your operating system.
• Use the
--skip-external-locking
manager does not work properly; the
to use external locking. (This means that you cannot run two
directory and that you must be careful if you use myisamchk. Nevertheless, it may be instructive to
try the option as a test.)
• Have you tried
mysqladmin -u root processlist
not responding? Sometimes
may be that all connections are in use, or there may be some internal lock problem.
u root processlist
useful information about the current number of connections and their status.
• Run the command
mysqladmin -i 5 status
window to produce statistics while you run your other queries.
• Try the following:
1. Start
from
mysqld
2. Run your test scripts.
3. Print the backtrace and the local variables at the three lowest levels. In gdb, you can do this with
the following commands when
backtrace
info local
up
info local
up
info local
With gdb, you can also examine which threads exist with
specific thread with
• Try to simulate your application with a Perl script to force MySQL to crash or misbehave.
• Send a normal bug report. See
detailed than usual. Because MySQL works for many people, it may be that the crash results from
something that exists only on your computer (for example, an error that is related to your particular
system libraries).
• If you have a problem with tables containing dynamic-length rows and you are using only
columns (not
or
BLOB
TABLE. This forces MySQL to use fixed-size rows. Fixed-size rows take a little extra space, but are
much more tolerant to corruption.
The current dynamic row code has been in use for several years with very few problems, but
dynamic-length rows are by nature more prone to errors, so it may be a good idea to try this strategy
to see whether it helps.
Administration-Related Issues
script. (It is located in the
--with-debug
MySQL Internals: Porting to Other
[420]
--skip-external-locking
is not comatose even though you might think so. The problem
mysqld
usually is able to make a connection even in these cases, and can provide
(or another debugger). See
gdb
has crashed inside gdb:
mysqld
N, where
is the thread ID.
thread
N
Section 1.7, "How to Report Bugs or
columns), you can try to change all
TEXT
2963
sql-bench
directory of source distributions.)
tests
[122]
or
--with-debug=full
option to mysqld. On some systems, the
mysqld
when
mysqld
or
mysqladmin -i 5 -r status
MySQL Internals: Porting to Other
info threads
Problems". Be even more
VARCHAR
sql-bench
directory under your
[122]
option to
Systems.
lockd
[420]
option tells
mysqld
servers on the same data
appears to be running but
mysqladmin -
in a separate
Systems.
and switch to a
VARCHAR
to
with
CHAR
ALTER
lock
not

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents