一、进行碎片化整理的步骤:

1,进行磁盘碎片化整理。原因是datafree占据的空间太多啦。具体可以通过这个sql查看。

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') ASdata_size,

CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') ASmax_data_size,

CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') ASdata_free,

CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') ASindex_sizeFROM information_schema.tables WHERE TABLE_NAME = 'datainfo';

2,对表格进行碎片化整理;

ALTER TABLE datainfo ENGINE=InnoDB;

ANALYZETABLEdatainfo;

optimizetable datainfo;

二、修改mysql配置文件地址:

1、使用命令查看mysql安装的位置和配置文件所在的地方

mysql 1118 945 0 14:28 ? 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

2、关闭mysql

service mysql stop

3、删除datadir目录下的ibdata1、ib_logfile0 ib_logfile1这些文件

4、 移动mysql的启动参数

mv /etc/my.cnf ./abc

5、重新启动mysql 发现磁盘空间释放了

service mysql start

磁盘空间终于释放了,下一步数据库还原,可以使用navicat工具进行数据库备份以及还原;

三、mysql碎片化产生的原因

(1)表的存储会出现碎片化,每当删除了一行内容,该段空间就会变为被留空,而在一段时间内的大量删除操作,会使这种留空的空间变得比存储列表内容所使用的空间更大;

(2)当执行插入操作时,MySQL会尝试使用空白空间,但如果某个空白空间一直没有被大小合适的数据占用,仍然无法将其彻底占用,就形成了碎片;

(3)当MySQL对数据进行扫描时,它扫描的对象实际是列表的容量需求上限,也就是数据被写入的区域中处于峰值位置的部分;

清除碎片的优点:

降低访问表时的IO,提高mysql性能,释放表空间降低磁盘空间使用率

注意:

1.MySQL官方建议不要经常(每小时或每天)进行碎片整理,一般根据实际情况,只需要每周或者每月整理一次即可(我们现在是每月凌晨4点清理mysql所有实例下的表碎片)。

2.在OPTIMIZE TABLE运行过程中,MySQL会锁定表。因此,这个操作一定要在网站访问量较少的时间段进行。

3.清理student的105万条数据, OPTIMIZE TABLE 库.student;本地测试需要37秒。

mysql 整理磁盘空间_mysql 数据库磁盘满了,进行碎片化整理的相关问题相关推荐

  1. SQL Server 磁盘空间告急(磁盘扩容)转载

    SQL Server 磁盘空间告急(磁盘扩容)转载 一.背景 在线上系统中,如果我们发现存放数据库文件的磁盘空间不够,我们应该怎么办呢?新买一个硬盘挂载上去可以嘛?(linux下可以直接挂载硬盘进行扩 ...

  2. 怎样清理苹果电脑磁盘空间_Mac启动磁盘已满?如何快速清理电脑磁盘

    原标题:Mac启动磁盘已满?如何快速清理电脑磁盘 Mac启动磁盘满了怎么办?是不是经常被"mac启动盘已满"这种情况干扰,该如何快速清理苹果电脑磁盘呢?以下六个方法可以轻松帮你解决 ...

  3. 什么在占用你的Mac磁盘空间?Mac磁盘清理软件为何选择DaisyDisk?

    使用Mac工作时,您可以创建和下载大量文件,但很少删除任何内容.在某些时候,您会发现您的启动磁盘已满.该怎么办? 是什么在占用你的Mac磁盘空间?Mac磁盘清理软件为何选择DaisyDisk? 今天, ...

  4. 采用空白文件目录结构管理磁盘空间,实现磁盘空间的分配和回收

    实验题目:采用空白文件目录结构管理磁盘空间,实现磁盘空间的分配和回收 #include"stdio.h" #include"math.h" #define N ...

  5. 查看linux机器的磁盘空间,Linux查看磁盘空间命令分享

    在windows下可以很方便的查看空间的.但是到了查看磁盘空间,你可能就有点摸不着头脑了,呵呵.不要急,我这就要给你解决这个问题. Df命令是Linux查看磁盘空间系统以磁盘分区为单位查看文件系统,可 ...

  6. mysql truncate 释放空间_mysql truncate table未释放表空间磁盘空间

    truncate table tablename; 该命令可以清空一个表里的所有数据,并归1自增ID的值. 但myisam的表和innodb的表在使用上有一定的区别. myisam表会清空所有数据,并 ...

  7. mysql sql 检测磁盘_MySQL 数据库磁盘占用情况查询

    查询所有数据库占用磁盘空间大小的SQL语句: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as ...

  8. mysql查询使用空间_mysql 如何察看数据库空间及日志空间使用情况

    你的位置: 问答吧 -> MySQL -> 问题详情 mysql 如何察看数据库空间及日志空间使用情况 如题,谢谢 作者: zxyding 发布时间: 2009-06-18 监控磁盘 作者 ...

  9. linux磁盘空间回收,linux磁盘空间满了后怎么去判定哪个地方占了多大的空间并回收...

    linux磁盘空间满了后怎么去判定哪个地方占了多大的空间并回收 概述 日常工作总会碰到磁盘满的情况,这时候我们需要去判定哪个地方占的存储比较多,看那些文件有没用,如果没用就可以删掉节省空间.下面大概写 ...

最新文章

  1. 【组队学习】【27期】动手学数据分析
  2. 利用Directsound编程实现实时混音
  3. 推荐一款非常不错的子网计算器
  4. 肝!22款超好用的CLI工具
  5. 解决 supervisor中stop django进程不能真正的停止 问题
  6. Git 实用操作 | 撤销 Commit 提交
  7. linux多行变一列,多行转为一列
  8. 使Java具有响应性的框架和工具包:RxJava,Spring Reactor,Akka和Vert.x概述
  9. linux用户恢复正常,Linux系统用户口令安全恢复方法
  10. android 页面无法点击,为什么点击不跳转到下一界面,哪位大神帮瞅瞅
  11. export default 打包_贵阳【打包扣】价格
  12. spark学习-Spark算子Transformations和Action使用大全(Transformations章(一))
  13. 无线通信技术协议-Zigbee 3.0
  14. meta中的http-equiv = X-UA-Compatible
  15. 抖音小视频、千图网图片等多平台的微航去水印微信小程序工具解析
  16. EN 14967:防水沥青防潮层—CE认证
  17. 数学 立方和公式 立方差公式
  18. CINTA作业四:群、子群
  19. uni-app公用方法
  20. java 字节码查看_一种查看java字节码时显示方法调用关系图的方法与流程

热门文章

  1. 移动支付,华为也想喝点汤
  2. .net 部署到服务端IIS,Process调用exe程序无法运行问题解决
  3. 基于node的智能家居
  4. 【C++】类的朋友(friend)
  5. C语言动态内存使用多文件实现通讯录,并可以保存在文件中
  6. 编程实现。输入年份和月份,计算这一年这个月有多少天。
  7. 【Flink实时数仓】数据仓库项目实战 《四》日志数据分流 【DWD】
  8. 信息安全之操作系统安全防护技术
  9. Uglifyjs入门
  10. 基于梁氏—克里曼信息流的因果分析理论及应用——理论部分