ITPub博客

首页 > 数据库 > MySQL > MySQL 5.7的表删除数据后的磁盘空间释放

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

原创 MySQL 作者:ywxj_001 时间:2020-06-28 19:36:14 0 删除 编辑

首先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


完成空间释放。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2700976/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
全部评论
在零售、金融、互联网行业从事数据库相关工作10余年,有丰富的数据库管理和架构的相关经验。 涉及SQLServer、Oracle、MySQL、PostgreSQL等多种数据库。 目前在一家互联网公司担任首席DBA岗位。 负责整个集团数据库的架构设计和管理工作。

注册时间:2010-01-19

  • 博文量
    145
  • 访问量
    155934