MySQL 5.7的表删除数据后的磁盘空间释放

来源:这里教程网 时间:2026-03-01 15:14:41 作者:

首先delete数据。 mysql> optimize table report;+------------+----------+----------+---------------------------------------------------------------------------------------+| Table      | Op       | Msg_type | Msg_text                                                                              |+------------+----------+----------+---------------------------------------------------------------------------------------+| du.report | optimize | note     | Table does not support optimize, doing recreate + analyze instead                     || du.report | optimize | error    | Error writing file './du/#sql-3a1_2da46.frm' (Errcode: 28 - No space left on device) || du.report | optimize | status   | Operation failed                                                                      |+------------+----------+----------+---------------------------------------------------------------------------------------+3 rows in set, 1 warning (0.04 sec)不支持 optimize。空间也不足。 mysql> truncate table report;ERROR 1030 (HY000): Got error 168 from storage engine 释放一点空间,可以truncate表了。mysql> truncate table report;Query OK, 0 rows affected (2.82 sec) 释放表占用的磁盘空间: mysql> alter table report ENGINE='InnoDB'; Query OK, 0 rows affected (11 min 56.05 sec) Records: 0  Duplicates: 0  Warnings: 0 完成空间释放。

相关推荐