GNU Info

Info Node: (mysql.info)Using log files

(mysql.info)Using log files


Next: Reproduceable test case Prev: Using stack trace Up: Debugging server
Enter node , (file) or (file)node

Using log files to find cause of errors in mysqld
-------------------------------------------------

Note that before starting `mysqld' with `--log' you should check all
your tables with `myisamchk'.  Note: MySQL Database Administration.

If `mysqld' dies or hangs, you should start `mysqld' with `--log'.
When `mysqld' dies again, you can examine the end of the log file for
the query that killed `mysqld'.

If you are using `--log' without a file name, the log is stored in the
database directory as 'hostname'.log In most cases it's the last query
in the log file that killed `mysqld', but if possible you should verify
this by restarting `mysqld' and executing the found query from the
`mysql' command line tools. If this works, you should also test all
complicated queries that didn't complete.

You can also try the command `EXPLAIN' on all `SELECT' statements that
takes a long time to ensure that `mysqld' is using indexes properly.
Note: `EXPLAIN'.

You can find the queries that take a long time to execute by starting
`mysqld' with `--log-slow-queries'. Note: Slow query log.

If you find the text `mysqld restarted' in the error log file (normally
named `hostname.err') you have probably found a query that causes
`mysqld' to fail.  If this happens you should check all your tables
with `myisamchk' (Note: MySQL Database Administration), and test the
queries in the MySQL log files to see if one doesn't work.  If you find
such a query, try first upgrading to the newest MySQL version.  If this
doesn't help and you can't find anything in the `mysql' mail archive,
you should report the bug to <mysql@lists.mysql.com>.  Links to mail
archives are available online at the MySQL documentation page
(http://www.mysql.com/documentation/).

If you have started `mysqld' with `--with-myisam-recover', MySQL will
automatically check and try to repair `MyISAM' tables if they are
marked as 'not closed properly' or 'crashed'.  If this happens, MySQL
will write an entry in the `hostname.err' file `'Warning: Checking
table ...'' which is followed by `Warning: Repairing table' if the
table needs to be repaired.  If you get a lot of these errors, without
`mysqld' having died unexpectedly just before, then something is wrong
and needs to be investigated further. Note: Command-line options.

It's of course not a good sign if `mysqld' did died unexpectedly, but
in this case one shouldn't investigate the `Checking table...' messages
but instead try to find out why `mysqld' died.


automatically generated by info2www version 1.2.2.9