MySQL 5.7的表刪除資料後的磁碟空間釋放

ywxj_001發表於2020-06-28

首先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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章