テーブルのデータを削除したのに空きが増えない…どうして??
MySQLでDiskfullエラーが発生した時の対処方を解説します。
目次
DiskFullエラー発生時にやること
まずはデータ容量の確認
以下のSQLを実行してデータ容量を確認します。
SELECT table_schema,
floor(SUM(data_length + index_length) / 1024 /1024) AS ALL_MB,
floor(SUM((data_length) / 1024 / 1024)) AS DATA_MB,
floor(SUM((index_length) / 1024 / 1024)) AS INDEX_MB
FROM information_schema.tables
GROUP BY table_schema
ORDER BY sum(data_length + index_length) DESC;
テーブルのデータをDeleteする
大量のデータを保持しているテーブルのレコードをDeleteします。
DELETE FROM <対象テーブル名>;
Deleteしたテーブルに対してOPTIMIZEを実行する
OPTIMIZE TABLE <レコードをDeleteしたテーブル>;
これでDiskの空き容量が増えます。
お疲れ様でした!