程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql InnoDB徹底釋放磁盤空間,mysqlinnodb

Mysql InnoDB徹底釋放磁盤空間,mysqlinnodb

編輯:MySQL綜合教程

Mysql InnoDB徹底釋放磁盤空間,mysqlinnodb


Innodb數據庫對於已經刪除的數據只是標記為刪除,並不真正釋放所占用的磁盤空間,這就導致InnoDB數據庫文件不斷增長。

如果需要徹底釋放磁盤空間,則需要先導出數據,然後刪除數據文件,最後導入數據。具體步驟如下:

備份數據庫批處理命令:

..\bin\mysqldump -uroot -proot -P3306 -h127.0.0.1 --default-character-set=gb2312 數據庫名稱 > 數據庫備份.sql  

還原數據庫批處理命令:

..\bin\mysql -uroot -proot -P3306 -h127.0.0.1 --default-character-set=gb2312 < 數據庫備份.sql 

echo. & pause(加這句是為了看到批處理執行結果)

如果在導入數據時報錯:“No database selected” ,那麼需要在mysqldump.sql腳本最前面加入“use 數據庫名稱;”


怎釋放已刪除的InnoDB磁盤空間

如果想徹底釋放這些已經刪除的數據,需要把數據庫導出,刪除InnoDB數據庫文件,然後再倒入。 下面是基本的步驟:1 使用mysqldump命令將InnoDB數據庫導出2 停止MySQL3 刪除所有InnoDB數據庫文件和日志4 啟動MySQL並自動重建InnoDB數據庫文件和日志文件5 導入前面備份的數據庫文件有一點要注意,你配置了MySQL數據庫復制,當你導入數據庫備份文件的時候,所有的Query都可能會被寫入Binlog,可以執行SET SQL_LOG_BIN = 0;暫時停止Binlog的寫入。
 

mysql innodb的文件一致長,怎讓delete語句刪除數據時文件也跟著縮小?

mysql innodb主空間是只能增大不能減小的,但是刪除一個表後,這個表在這個空間中占用的空間會被釋放,但這個文件的大小不會減小
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved