爱程序网

Mysql InnoDB彻底释放磁盘空间

来源: 阅读:

Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。

如果需要彻底释放磁盘空间,则需要先导出数据,然后删除数据文件,最后导入数据。具体步骤如下:

  1. 使用mysqldump命令将InnoDB数据库导出。
  2. 停止MySQL服务。
  3. 删除所有InnoDB数据库文件和日志(ibdata1,ib_logfile*)。
  4. 启动MySQL并自动重建InnoDB数据库文件和日志文件。
  5. 导入之前备份的数据。

备份数据库批处理命令:

..binmysqldump -uroot -proot -P3306 -h127.0.0.1 --default-character-set=gb2312 数据库名称 > 数据库备份.sql  

还原数据库批处理命令:

..binmysql -uroot -proot -P3306 -h127.0.0.1 --default-character-set=gb2312 < 数据库备份.sql 

echo. & pause(加这句是为了看到批处理执行结果)

如果在导入数据时报错:“No database selected” ,那么需要在mysqldump.sql脚本最前面加入“use 数据库名称;”

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助