Copyright (C) 2000-2012 |
GNU Info (mysql.info)Using log filesUsing 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 |