Mysql InnoDB彻底释放磁盘空间

摘要:
InnoDB只将删除的数据标记为已删除,并没有真正释放占用的磁盘空间,这导致InnoDB数据库文件不断增长。如果需要完全释放磁盘空间,则需要先导出数据,然后删除数据文件,最后导入数据。启动MySQL并自动重建InnoDB数据库文件和日志文件。

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

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

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

备份数据库批处理命令:

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

还原数据库批处理命令:

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

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

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

免责声明:文章转载自《Mysql InnoDB彻底释放磁盘空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java自动化 接口测试Cookie与tokenios系统视频播放器MPMoviePlayerController应用遇到的坑下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle Data Guard

DG是 Oracle Data Guard的简称。也就是Oracle11g的 数据卫士。 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理。给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些)。DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一...

Win7下安装MySql数据库流程

MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.91是最新的稳定版本。 mysql 下载地址http://www.jb51.net/softs/2193.html 下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup...

Mysql 10053 SocketException 你的主机中的软件中止了一个已建立的连接。

问题:存数据库失败 错误信息: Mysql 1053 SocketException 你的主机中的软件中止了一个已建立的连接。 解决方法:修改数据库最大数据传输量【max_allowed_packet】 1:查询【max_allowed_packet】:show variables like '%max_allowed_packet%';   结果只有10...

MySQL杂记select 权限范围变更史

前言: 在5.7版本中无意间发现,只有 select 权限的用户,是可以执行 select ... for update / select ... lock in share mode 命令的,一时想不出在什么场景下,会存在只有 select 权限的用户,需要对记录加锁操作, 复现: ---session1: mysql> create databa...

Mysql常见的引擎

常用的引擎是:Innodb和Myiasm这两种引擎: innodb: 提供了对事务的ACID操作,还提供了行级锁和外键约束,,他的优势就是处理大量数据,在msql启动的时候,首先会建立一个缓存池,主要是缓存数据和索引,但是操作大规模的数据查找时很慢,所以建议当需要数据库的事务操作时,使用这个,还有就是在写的时候不会锁定全表,所以在大规模并发操作的时候会提高...

MySQL 授权,回收权限,查看权限

show GRANTS for root@localhost;flush privileges;SHOW PROCESSLIST; #全局授权,回收权限GRANT ALL ON *.* TO 'testzzq'@'localhost';REVOKE ALL ON *.* FROM 'testzzq'@'localhost';flush privileges...