当前位置:首页 > 编程教程 > mysql技术文章 > Mysql InnoDB删除数据后释放磁盘空间的方法

Mysql InnoDB删除数据后释放磁盘空间的步骤详解

  • 发布时间:
  • 作者:码农之家
  • 点击:62

这篇文章主要知识点是关于Mysql、InnoDB、释放磁盘空间、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP和MySQL Web开发
PHP和MySQL Web开发中文高清第5版
  • 类型:PHP网站开发大小:27 MB格式:PDF作者:卢克·韦林
立即下载

Mysql InnoDB删除数据后释放磁盘空间的方法

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

如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,然后只需要运行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间。

运行OPTIMIZE TABLE 表名后,虽然最后会报Table does not support optimize, doing recreate + analyze instead,但其实已经成功了:)

-------------------------------------------------------------

如果没有设置这个参数,又想释放空间,彻底释放这些已经删除的数据,需要把数据库导出,删除InnoDB数据库文件,然后再倒入。

下面是基本的步骤:

1 使用mysqldump命令将InnoDB数据库导出

2 停止MySQL

3 删除所有InnoDB数据库文件和日志

4 启动MySQL并自动重建InnoDB数据库文件和日志文件

5 导入前面备份的数据库文件

----------------------------------------------

具体命令:

复制代码 代码如下:

# 备份数据库:

 

mysqldump -uroot -proot --quick --force --all-databases > mysqldump.sql
# 停止数据库

service mysqld stop
# 删除这些大文件
rm /usr/local/mysql/var/ibdata1
rm /usr/local/mysql/var/ib_logfile*
# 手动删除除Mysql之外所有数据库文件夹,然后启动数据库

service mysqld start
# 还原数据

mysql -uroot -proot < mysqldump.sql

 

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

Mysql 相关电子书
学习笔记
网友NO.245771

关于mysql innodb count(*)速度慢的解决办法

innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。要初步解决这个问题,需要做不同于myisam的一些工作: 1、使用第二索引(一般不使用主键索引),并且添加where条件,如: select count(*) from product where comp_id=0 ; show index from product ; id primary key comp_id index 2、如果只需要粗略统计的话也可使用 show status from product; 来得到大约值 这种方法可在数据分页中使用! 3、使用外部计数器,比如建立一个触发器来计数或者在程序上使用缓存方式定时计数,缺陷是这些方法会额外消耗一些资源! 参考资料: mysql高性能:http://www.mysqlperformanceblog.com/2006/12/01/count-for-innodb-tables/ mysql DBA:http://imysql.cn/2008_06_24_speedup_innodb_count COUNT(*) for Innodb T……

网友NO.800874

深入讲解MySQL Innodb索引的原理

引言 回想四年前,我在学习mysql的索引这块的时候,老师在讲索引的时候,是像下面这么说的 索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个知识点。这样就帮助用户有效地提高了查找速度。所以,使用索引可以有效地提高数据库系统的整体性能。 嗯,这么说其实也对。但是呢,大家看完这种说法,其实可能还是觉得太抽象了!因此呢,我还想再深入的细说一下,所以就有了此文! 需要说明的是,我说的内容只在Mysql的Innodb引擎中是成立的。在Sql Server、oracle、Mysql的Mysiam引擎中的正确性,不一定成立! InnoDB是 MySQL最常用的存储引擎,了解InnoDB存储引擎的索引对于日常工作有很大的益处,索引的存在便是为了加速数据库行记录的检索。 什么是索引? 索引(index)翻译为一个目录,用于快速定位我们想要找……

网友NO.863913

MySQL禁用InnoDB引擎的方法

一、确定版本 查看MySQL版本 mysql -V 或者可以登录MySQL使用select version();或status;命令查看 二、开始工作 关闭MySQL service mysql stop 如果上面的命令无法关闭MySQL,则使用kill -9命令强制杀掉进程; 修改MySQL配置文件my.cnf(通常位于/etc/mysql/my.cnf)下加入如下字段 对于MySQL 5.5而言: default-storage-engine=MyISAM loose-skip-innodb loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 对于MySQL 5.6而言: default-storage-engine=MyISAM default-tmp-storage-engine=MYISAM loose-skip-innodb loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-res……

网友NO.596226

mysql 有关“InnoDB Error ib_logfile0 of different size”错误

1,查看Mysqld(/var/log/mysqld.log)日志,发现以下错误: InnoDB: Error: log file /usr/local/mysql/data/ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 104857600 bytes! 030826 1:42:15 Can't init databases 030826 1:42:15 Aborting 2,解决办法 " If you want to change the number or the size of your InnoDB log files, you have to shut down MySQL and make sure that it shuts down without errors. Then copy the old log files into a safe place just in case something went wrong in the shutdown and you will need them to recover the database. Delete then the old log files from the log file directory, edit my.cnf, and start MySQL again. InnoDB will tell you at the startup that it is creating new log files. " 在你修改my.cnf的innodb_log_file_size参数前,请先停止mysql服务程序的运行(mysql的停止没有出现任何错误),并把/var/lib/mysql目录下的ib_logfile0、ib_logfile1、ib_logfile2等之类的文件移除到一……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com