mysqld サーバーが起動しない場合、またはサーバーがすぐにクラッシュしてしまう場合は、問題を見つけるためにトレースファイルの作成を試みることができます。
これを行うには、デバッグサポート付きでコンパイルされている mysqld がある必要があります。これは mysqld -V
を実行することによって確認できます。バージョン番号が -debug
で終わっている場合は、トレースファイルのサポート付きでコンパイルされています。(Windows の場合、MySQL 4.1 以降では、デバッグサーバーの名前は mysqld ではなく mysqld-debug です。)
Unix の場合は /tmp/mysqld.trace
、Windows の場合は \mysqld.trace
にあるトレースログを使用して、mysqld サーバーを起動します。
shell> mysqld --debug
Windows では、mysqld をサービスとして起動しないようにするために、--standalone
フラグも使用してください。コンソールウィンドウで、次のコマンドを使用します。
C:\> mysqld-debug --debug --standalone
このあと、2 つ目のコンソールウィンドウで mysql.exe
コマンド行ツールを使用して、問題を再現できます。mysqld サーバーを停止するには、mysqladmin shutdown を使用します。
トレースファイルは非常に大きくなることがあります。より小さいトレースファイルが生成されるようにするには、次のようなデバッグオプションを使用できます。
mysqld --debug=d,info,error,query,general,where:O,/tmp/mysqld.trace
これにより、もっとも関心があるタグの情報のみがトレースファイルに出力されます。
これに関するバグレポートを作成する場合は、動作に問題があると思われるトレースファイルの行のみを、該当するメーリングリストに送信してください。問題のある場所を見つけることができない場合は、バグレポートを開いて、MySQL の開発者が調査できるように、トレースファイルをレポートにアップロードしてください。手順については、セクション1.6「質問またはバグをレポートする方法」を参照してください。
トレースファイルは、Fred Fish が作成した DBUG パッケージによって生成されます。セクション24.4.3「DBUG パッケージ」を参照してください。