結果から書くとディスクフルだっただけでしたが、MySQL経験が浅いということもあり、初めて見るエラーに心臓止まるかと思った出来事でした。
エラー文の「Incorrect key file for table」でググるとこちらのページがひっかかります。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 15.2.4.1 MyISAM テーブルの破損
「え?破損?」と、早速ビビリポイントが出てくるのですが、落ち着いて中を見ます。
次の状況が発生した場合、テーブルが破損するおそれがあります。
・ mysqld プロセスは、書き込みの最中に強制終了されます。
・コンピュータが予期せずシャットダウンされます (たとえば、コンピューターの電源が切られた場合など)。
・ハードウェア障害。
・サーバーが修正中のテーブルを、外部プログラム (myisamchkなど) を使用して同時に修正しています。
・MySQL または MyISAM コードのソフトウェアバグです。
MyISAM テーブルのヘルスを CHECK TABLE ステートメントを利用して確認でき、破損した MyISAM テーブルを REPAIR TABLE を利用して修復できます。
プロセスやサーバ類になにも問題ないことを確認し、もしかしたら本当にテーブルぶっ壊れたかもしれない…と思いながらmysqlcheckコマンドでテーブルのヘルスチェックを試します。
mysqlcheckは下記が参考になりました。
d.hatena.ne.jp
念のため全テーブルをチェックしましたが、全てOKで返ってきました。
頭を抱えながら再度「Incorrect key file for table」でググると、こちらの記事にたどり着きます。
d.hatena.ne.jp
容量の問題かも、という文に「そんなまさか」と思いながらdfコマンドを叩くと、案の定ディスク使用量が100%でした…。
よく考えると、確かにディスクフルだと実行できないよなぁ。