1. 程式人生 > >RDS for MySQL 刪除數據後空間沒有減少處理方法

RDS for MySQL 刪除數據後空間沒有減少處理方法

port AD 阿裏 狀態 索引 百萬 note ble optimize

公司的程序和數據庫部署在阿裏雲上,數據庫使用的是阿裏雲的RDS,這天,經理在開發群中發了一個信息:

您的RDS實例rm********0oq的磁盤在過去一周平均使用率已超過80.0%,建議您對實例規格進行升級,以免磁盤資源不足,影響業務運行。詳情請您查看您阿裏雲註冊郵箱中的郵件。

1、首先我在Navicat上遠程delete阿裏雲RDS數據表中的數據,

找到對應的表,然後delete 刪除部分數據,單個表中的數據達五千萬條,所以操作起來很笨重。(懊惱啊,為什麽當初沒有做分表操作。。)

按照產品經理的原話是“近期的任務不要刪除,把以前的數據刪掉!”

so,切割表的想法就打消了。還好我們的id是自增的,根據id刪除了前面的數據。(每次也就幾十萬)

在復雜一些的就是根據任務字段刪除數據。

刪了一個小時,MD累死了,才刪了幾百萬條數據,這時候我看了一下RDS的磁盤空間。

!!!!!!!!!!!!!!

MD,我奔潰啊,磁盤空間快滿了,什麽鬼啊!

技術分享圖片

嚇得我趕緊喝了口82年的拉菲。

我打開百度(全球最大的中文搜索引擎),搜了一下本文的題目“MySQL 刪除數據後空間沒有減少處理方法”,給出了方法:

https://help.aliyun.com/knowledge_detail/41720.html

我就迅速的登上了DMS,找到了表維護--》優化。然後開始慶幸,幸好及時發現,不然就滿了。。滿了。滿了!真的是滿了。。。。。。。在我優化的時候我看了一下實力狀態:

技術分享圖片

你TM在逗我?

越優化越滿了?什麽情況啊。。。。。。。。。

再次打開了全球最大的中文搜索引擎。

給出下面的解決方案,使用命令行:

OPTIMIZE TABLE mission_picture

這個命令執行時間比較長,可能是數據量較大的原因:但是結果並不理想,

執行結果失敗 
note:Table does not support optimize, doing recreate + analyze instead 
error:The table mission_picture is full status:Operation failed

最後解決方法是:

RDS for MySQL 刪除數據後空間沒有減少處理方法