【MySQL】DiskFullエラー発生!データをDeleteしても空き容量が増えない時の対処

テーブルのデータを削除したのに空きが増えない…どうして??

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の空き容量が増えます。

お疲れ様でした!

あわせて読みたい
【Docker入門】DockerfileからMySQLのDockerイメージを作成する DockerfileからMySQLイメージを作成して起動する手順を紹介します! 【Dockerイメージ作成準備】 作成するファイルの構成 このようなディレクトリ構成で「Dockerfile」...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次