Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  mysqld でのエラーの原因を見つけるためのサーバーログの使用

24.4.1.6 mysqld でのエラーの原因を見つけるためのサーバーログの使用

一般クエリーログを有効にして mysqld を起動する前に、myisamchk を使用してすべてのテーブルをチェックしてください。第5章「MySQL サーバーの管理 を参照してください。

mysqld が異常終了またはハングアップする場合は、一般クエリーログを有効にして mysqld を起動してください。セクション5.2.3「一般クエリーログ」を参照してください。mysqld がふたたび異常終了したら、ログファイルの最後の部分を調査して、mysqld が強制終了されたクエリーを見つけることができます。

デフォルトの一般クエリーログファイルを使用した場合、ログはデータベースディレクトリに host_name.log として格納されます。ほとんどの場合、mysqld が強制終了されたのはログファイル内の最後のクエリーですが、可能であれば、mysqld を再起動して、見つかったクエリーを mysql コマンド行ツールから実行することによって、このことを検証してください。これが動作する場合は、完了しなかった複雑なクエリーもすべてテストしてください。

また、長い時間がかかるすべての SELECT ステートメントに対して EXPLAIN コマンドを試すことで、mysqld がインデックスを適切に使用していることを確認できます。セクション13.8.2「EXPLAIN 構文」を参照してください。

実行に長い時間がかかるクエリーを見つけるには、スロークエリーログを有効にして mysqld を起動します。セクション5.2.5「スロークエリーログ」を参照してください。

エラーログファイル (通常は hostname.err という名前) に mysqld restarted というテキストがあった場合は、mysqld でエラーが発生した原因であるクエリーが見つかった可能性があります。これが発生した場合、myisamchk を使用してすべてのテーブルをチェックし (第5章「MySQL サーバーの管理を参照してください)、MySQL ログファイル内のクエリーをテストして、失敗するかどうかを確認します。そのようなクエリーが見つかった場合は、まず最新バージョンの MySQL にアップグレードすることを試してください。これで解決されず、mysql のメールアーカイブで参考になる回答が見つからない場合は、MySQL メーリングリストにバグを報告してください。メーリングリストについては http://lists.mysql.com/ で説明されており、アーカイブのオンラインリストへのリンクもあります。

--myisam-recover-options を指定して mysqld を起動した場合、MySQL は「not closed properly」または「crashed」としてマークされている MyISAM テーブルを自動的にチェックして修復しようとします。これが発生した場合、MySQL は hostname.err ファイルに「警告: テーブル ... をチェックしています」と書き込み、テーブルを修復する必要がある場合は、「警告: テーブルを修復しています」がそのあとに書き込まれます。これらのエラーを多数受け取り、その直前に予期しない mysqld の停止がなかった場合は、何らかの問題があるため、さらに調査する必要があります。セクション5.1.3「サーバーコマンドオプション」を参照してください。

MySQL 5.6 では、サーバーが MyISAM テーブルの破損を検出すると、追加の情報 (ソースファイルの名前と行番号、テーブルにアクセスしていたスレッドのリストなど) をエラーログに書き込みます。たとえば、「thread_id=1 からエラーを受け取りました。mi_dynrec.c:368」です。これは、バグレポートに含めると役に立つ情報です。

mysqld が予期せず異常終了することは良い兆候ではありませんが、この場合は Checking table... メッセージを調査するのではなく、mysqld が異常終了した原因を見つけるようにしてください。


User Comments
Sign Up Login You must be logged in to post a comment.