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 数据库名称;”