主頁 > 知識庫 > Mysql單文件存儲刪除數(shù)據(jù)文件容量不會減少的bug與解決方法

Mysql單文件存儲刪除數(shù)據(jù)文件容量不會減少的bug與解決方法

熱門標(biāo)簽:谷歌地圖標(biāo)注位置圖解 手機(jī)外呼系統(tǒng)違法嗎 桂林云電銷機(jī)器人收費 清遠(yuǎn)申請400電話 地圖簡圖標(biāo)注 沈陽智能外呼系統(tǒng)供應(yīng)商 南通電銷外呼系統(tǒng)哪家強(qiáng) 東莞外呼企業(yè)管理系統(tǒng) 如何選擇優(yōu)質(zhì)的外呼系統(tǒng)

MySQL的Bug之一:InnoDB ibdata1 never shrinks after data is removed

問題描述

當(dāng)innodb引擎使用單個文件進(jìn)行存儲的時候,當(dāng)對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行刪除的時候,文件的大小并不會發(fā)生變化,意味著文件將會越來越大并且即使刪除也沒辦法 讓其釋放磁盤的空間。

驗證過程

創(chuàng)建一個測試使用的表,如下創(chuàng)建好t這樣的一個表。

創(chuàng)建簡單的存儲過程來批量的插入數(shù)據(jù)。

查看開始前的文件的大小

當(dāng)批量插入接近十萬的數(shù)據(jù)后

然后進(jìn)行刪除操作

占用磁盤空間并未減少

解決方案

兩種方式:

1. 先備份后刪除然后進(jìn)行導(dǎo)入

mysqldump -uxxx -pxxx --all-databases > db.sql 
service mysql stop 
rm ibdata 
rm ×log文件 
service mysql start 
mysql -uxxx -pxxx  db.sql 

2. 把表設(shè)置為單表存儲的形式,這樣每個表中的數(shù)據(jù)單獨存儲,在刪除數(shù)據(jù)的時候,會隨著數(shù)據(jù)的刪除而釋放存儲空間。

set global innodb_file_per_table = on 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • mysql 精簡過程(刪除一些文件)
  • linux下mysql自動備份數(shù)據(jù)庫與自動刪除臨時文件
  • mysql備份腳本以及刪除前5天的備份文件
  • php上傳文件并存儲到mysql數(shù)據(jù)庫的方法
  • MySQL 刪除數(shù)據(jù)庫中重復(fù)數(shù)據(jù)方法小結(jié)
  • MYSQL刪除表中的指定ID數(shù)據(jù)
  • MySQL數(shù)據(jù)庫中刪除重復(fù)記錄的方法總結(jié)[推薦]
  • Mysql InnoDB刪除數(shù)據(jù)后釋放磁盤空間的方法

標(biāo)簽:常德 重慶 成都 貴州 湖州 臨沂 天津 內(nèi)蒙古

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql單文件存儲刪除數(shù)據(jù)文件容量不會減少的bug與解決方法》,本文關(guān)鍵詞  Mysql,單文件,單,文件,存儲,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql單文件存儲刪除數(shù)據(jù)文件容量不會減少的bug與解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql單文件存儲刪除數(shù)據(jù)文件容量不會減少的bug與解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章