InnoDB
の I/O に関する問題のトラブルシューティング手順は、その問題がいつ、つまり MySQL サーバーの起動中か、あるいは通常の動作中にファイルシステムレベルの問題で DML または DDL ステートメントが失敗したときのどちらで発生したかによって異なります。
初期化の問題
InnoDB
がそのテーブルスペースまたはログファイルを初期化しようとしたときに問題が発生した場合は、InnoDB
によって作成されたすべてのファイル、つまりすべての ibdata
ファイルおよびすべての ib_logfile
ファイルを削除します。 いくつかの InnoDB
テーブルをすでに作成している場合は、MySQL データベースディレクトリから .ibd
ファイルも削除します。 次に、再度 InnoDB
データベースを作成してみてください。 もっとも簡単なトラブルシューティングとして、何が発生しているかがわかるように、コマンドプロンプトから MySQL サーバーを起動してください。
実行時の問題
InnoDB
がファイル操作中にオペレーティングシステムのエラーを出力する場合、通常、この問題には次のいずれかの解決方法があります。
InnoDB
データファイルディレクトリとInnoDB
ログディレクトリが存在することを確認します。mysqld に、これらのディレクトリ内にファイルを作成するためのアクセス権があることを確認します。
指定したオプションで起動できるように、mysqld が正しい
my.cnf
またはmy.ini
オプションファイルを読み取れることを確認します。ディスクがいっぱいでなく、かつどのディスク割り当て制限も超えていないことを確認します。
サブディレクトリとデータファイルに指定した名前が衝突していないことを確認します。
innodb_data_home_dir
およびinnodb_data_file_path
値の構文を再確認します。 特に、innodb_data_file_path
オプション内のMAX
値はすべて強い制限値であるため、その制限を超えると致命的エラーが発生します。