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
—————————————————————————————