Innodb數據庫對於已經刪除的數據只是標記為刪除,並不真正釋放所占用的磁盤空間,這就導致InnoDB數據庫文件不斷增長。
如果需要徹底釋放磁盤空間,則需要先導出數據,然后刪除數據文件,最后導入數據。具體步驟如下:
- 使用mysqldump命令將InnoDB數據庫導出。
- 停止MySQL服務。
- 刪除所有InnoDB數據庫文件和日志(ibdata1,ib_logfile*)。
- 啟動MySQL並自動重建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 數據庫名稱;”