テーブルの修復をしようとしたらtempfileが作成できないという下記のエラーが発生した。
mysqlのデータディレクトリを見てみるとテーブル名.TMDというファイルが確かに存在していた。この.TMDファイルはテーブル修復時に作成される一時ファイルである模様。修復が終わると削除されるが、修復の作業が途中で中断されたりした場合には削除されずに残ったままになることがあるらしい。とりあえず.TMDのファイルは必要ないので削除または別ディレクトリへ移動してからテーブルの修復作業をする。オプションで–forceを付けると無視して修復作業を始めることができる。
cdn-project:/usr/local/mysql# ./bin/myisamchk -r –sort_buffer_size=3048M ./data/auc/200902.MYI
– recovering (with sort) MyISAM-table ‘./data/auc/aucTable.MYI’
Data records: 49302848
myisamchk: error: Can’t create new tempfile: ‘./data/auc/200902.TMD’