《Mysql必讀Mysql單文件存儲刪除數據文件容量不會減少的bug與解決方法》要點:
本文介紹了Mysql必讀Mysql單文件存儲刪除數據文件容量不會減少的bug與解決方法,希望對您有用。如果有疑問,可以聯系我們。
MySQL的Bug之一:InnoDB ibdata1 never shrinks after data is removed
MYSQL入門
問題描述
MYSQL入門
當innodb引擎使用單個文件進行存儲的時候,當對數據庫中數據進行刪除的時候,文件的大小并不會發生變化,意味著文件將會越來越大并且即使刪除也沒辦法 讓其釋放磁盤的空間.MYSQL入門
驗證過程
MYSQL入門
創建一個測試使用的表,如下創建好t這樣的一個表.MYSQL入門
MYSQL入門
創建簡單的存儲過程來批量的插入數據.MYSQL入門
MYSQL入門
查看開始前的文件的大小MYSQL入門
MYSQL入門
當批量插入接近十萬的數據后MYSQL入門
MYSQL入門
然后進行刪除操作MYSQL入門
MYSQL入門
占用磁盤空間并未減少MYSQL入門
解決方案MYSQL入門
兩種方式:
MYSQL入門
1. 先備份后刪除然后進行導入MYSQL入門
mysqldump -uxxx -pxxx --all-databases > db.sql service mysql stop rm ibdata rm ×log文件 service mysql start mysql -uxxx -pxxx < db.sql
2. 把表設置為單表存儲的形式,這樣每個表中的數據單獨存儲,在刪除數據的時候,會隨著數據的刪除而釋放存儲空間.MYSQL入門
set global innodb_file_per_table = on
總結MYSQL入門
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流.MYSQL入門