注意: --log を指定して
        mysqld
        を起動する前に、すべてのテーブルを
        myisamchk
        でチェックしてください。 See
        章 4. データベース管理。
      
        mysqld
        がクラッシュまたはハングした場合、--log
        を指定して mysqld
        を起動する必要があります。mysqld
        が再度クラッシュした場合、ログファイルの末尾を参照し、mysqld
        のクラッシュを引き起こしたクエリの有無を確認できます。
      
        ファイル名なしで --log
        を使用している場合、ログは 'hostname'.log
        としてデータベースディレクトリに格納されます。多くの場合、ログファイル内の最後のクエリが原因で
        mysqld
        がクラッシュしています。ただし、実際にそうであったかどうかを確認するため、mysqld
        を再起動し、検出されたクエリを
        mysql
        コマンドラインツールから実行する必要があります(可能な場合)。この方法が有効な場合、完了しなかった複雑なクエリをすべてテストする必要もあります。
      
        時間がかかる SELECT
        ステートメントのすべてに対してコマンド
        EXPLAIN を実行し、インデックスが
        mysqld
        によって適切に使用されているかどうかを確認することもできます。
        See 項5.2.1. 「EXPLAIN 構文(SELECT
        に関する情報の取得)」。
      
        実行時間の長いクエリを検索するには、--log-slow-queries
        を指定して mysqld を実行します。
        See 項4.10.5. 「スロークエリログ」。
      
        テキスト mysqld restarted
        がエラーログファイル(通常は
        hostname.err
        という名称)に含まれている場合、mysqld
        のクラッシュを引き起こしたクエリが検出されたと考えられます。この場合、myisamchk(see
        章 4. データベース管理)でテーブルをすべてチェックします。また、MySQL
        ログファイル内のクエリをテストし、いずれかが無効かどうかを確認します。そのようなクエリが見つかった場合、最新バージョンの
        MySQL
        へのアップグレードを試みてください。アップグレードしても問題が解決せず、mysql
        メールアーカイブにも有益な情報がない場合、MySQL
        メーリングリストにバグをレポートする必要があります。
        このメーリングリストが掲載されている
        http://lists.mysql.com/
        には、オンラインリストアーカイブもリンクされています。
      
        myisam-recover を指定して
        mysqld
        を起動した際、MyISAM テーブルが
        '正しく閉じられなかった' または
        'クラッシュした'
        とマークされている場合、そのテーブルは自動的にチェックされ、修復が試行されます。この場合、hostname.err
        ファイルに 'Warning: Checking table ...'
        と書き込まれます。また、テーブルの修復が必要であれば、Warning:
        Repairing table
        が続いて書き込まれます。これらのエラーが大量に発生した際、直前に
        mysqld
        が突然クラッシュしていない場合は異常であり、さらに調査しなければなりません。
        See 項4.1.1. 「mysqld コマンドラインオプション」。
      
        mysqld
        が突然クラッシュするのは、もちろん正常ではありません。ただし、その場合には、Checking
        table...
        メッセージを調べるのではなく、mysqld
        がクラッシュした原因を探してください。
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

