お使いの MySQL バージョンがテストスイートを正常終了できない場合、以下の処理を実行する必要があります。
どこで異常が発生しているかをできるかぎり調査するまで、バグレポートを送信しないこと。バグレポートを送信する場合は、使用しているシステムおよび
MySQL
のバージョンに関する情報を収集するための
mysqlbug
スクリプトを使用する。 See
項1.7.1.3. 「バグまたは問題を報告する方法」。
mysql-test-run
の出力および
mysql-test/r
ディレクトリのすべての
.reject
ファイルの内容を必ず送信する。
テストスイートのテストが異常終了する場合、そのテストを単独で実行したときも異常終了するかどうかを調べる。
cd mysql-test mysql-test-run --local test-name
単独で実行しても異常終了する場合、--with-debug
を指定して MySQL
を実行し、--debug
オプション付きで mysql-test-run
を実行する。これでも異常終了する場合は、当社でトレースファイル
var/tmp/master.trace
を調べたいので、ftp://support.mysql.com/pub/mysql/secret
にそのファイルをアップロードする。このとき、必ず使用しているシステムの詳細な説明、mysqld
バイナリのバージョン、および mysqld
バイナリのコンパイル方法を連絡する。
--force
オプションを指定して
mysql-test-run
を実行し、ほかのテストが異常終了するかどうかも調べる。
自分で MySQL をコンパイルした場合、マニュアルを参照して使用しているプラットフォーム上で MySQL をコンパイルする方法を調べる。できれば、当社がコンパイルしたバイナリを http://www.mysql.com/downloads/ からダウンロードして使用する。当社が提供する標準のバイナリはすべてテストスイートを正常終了するはずである。
Result length mismatch
または
Result content mismatch
などのエラーが発生する場合、これはテストの出力と予想される出力が正確に一致しなかったことを意味する。この場合、MySQL
のバグの可能性がある。あるいは、使用している
mysqld
のバージョンが特定の環境下で多少異なる結果を出力した可能性がある。
異常終了したテスト結果は、結果ファイルと同じベース名に拡張子
.reject
を付けた名前のファイルに出力される。テストケースを実行して異常終了した場合、これらの
2 つのファイルをパラメータとして diff
を実行する必要がある。両者の違いがわからない場合、それぞれをパラメータとして
od -c
を実行し、そのサイズを調べる。
テストが全体的に異常終了する場合、mysql-test/var/log
ディレクトリのログファイルを調べて、異常の原因に関するヒントを探す。
デバッグ機能を組み込んで MySQL
をコンパイルしていた場合、--gdb
または
--debug
、あるいはその両方のオプションを指定して
mysql-test-run
を実行することによってデバッグできる。
See 項E.1.2. 「トレースファイルの作成」。
デバッグ機能を組み込まずに MySQL
をコンパイルしていた場合、デバッグ機能を組み込むようにコンパイルしてから再実行する必要がある。それには、--with-debug
オプションを指定して
configure
を実行する。 See
項2.3. 「MySQL ソースディストリビューションのインストール」。
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.