mysqlでカラムが削除できなかった

mysqlでカラムを削除しようとしたら、エラーが出て削除できなかった。

phpmyadmin で削除を実行すると以下のエラー

---------------------------------------------------------------------------------------
#1034 -  表'テーブル名'の索引ファイル(key file)の内容が不正です。修復を試行してください。
---------------------------------------------------------------------------------------

指示通り phpmyadmin で修復を試行するも、innodb では修復できないという内容が返ってきて変化なし。

ターミナルから削除してみるもやはりエラー。

エラー内容
---------------------------------------------------------------------------------------
Incorrect key file for table~
---------------------------------------------------------------------------------------

データの破損時に出るエラーらしいが、ディスク容量不足でも起こるとわかった。

カラムを削除するとき ALTER TABLE ~ が実行されるらしいが、このSQLは対象のテーブルを内部でコピーするので、テーブルと同じ容量以上の空きが必要らしい。

mysqlの空き容量を調べる。
---------------------------------------------------------------------------------------
df -h /var/lib/mysql;
---------------------------------------------------------------------------------------

結果
---------------------------------------------------------------------------------------

Filesystem Size Used Avail Use% Mounted on
/dev/vda3 97G 90G 1.9G 99% /
---------------------------------------------------------------------------------------

容量を99%利用していた。

扶養テーブルを削除したらエラーは出なくなった。

念のため、データが破損していないかのエラーチェックも行った。

---------------------------------------------------------------------------------------
check table テーブル名 quick
---------------------------------------------------------------------------------------