mysql删除数据不会减少存储占用_Mysql单文件存储删除数据文件容量不会减少的bug与解决方法...
MySQL的Bug之一:InnoDB ibdata1 never shrinks after data is removed
問題描述
當innodb引擎使用單個文件進行存儲的時候,當對數據庫中數據進行刪除的時候,文件的大小并不會發生變化,意味著文件將會越來越大并且即使刪除也沒辦法 讓其釋放磁盤的空間。
驗證過程
創建一個測試使用的表,如下創建好t這樣的一個表。
創建簡單的存儲過程來批量的插入數據。
查看開始前的文件的大小
當批量插入接近十萬的數據后
然后進行刪除操作
占用磁盤空間并未減少
解決方案
兩種方式:
1. 先備份后刪除然后進行導入
mysqldump -uxxx -pxxx --all-databases > db.sql
service mysql stop
rm ibdata
rm ×log文件
service mysql start
mysql -uxxx -pxxx < db.sql
2. 把表設置為單表存儲的形式,這樣每個表中的數據單獨存儲,在刪除數據的時候,會隨著數據的刪除而釋放存儲空間。
set global innodb_file_per_table = on
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
您可能感興趣的文章:mysql 精簡過程(刪除一些文件)
linux下mysql自動備份數據庫與自動刪除臨時文件
mysql備份腳本以及刪除前5天的備份文件
php上傳文件并存儲到mysql數據庫的方法
MySQL 刪除數據庫中重復數據方法小結
MYSQL刪除表中的指定ID數據
MySQL數據庫中刪除重復記錄的方法總結[推薦]
Mysql InnoDB刪除數據后釋放磁盤空間的方法
總結
以上是生活随笔為你收集整理的mysql删除数据不会减少存储占用_Mysql单文件存储删除数据文件容量不会减少的bug与解决方法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 存储过程游标删除_mysql
- 下一篇: 腾讯把《和平精英》里的技术引入输入法和地