参考链接: Mysql空间清理,最硬核

1.查看文件磁盘占用

1.1 查看磁盘空间占用
df -lh

1.2 查看目录空间占用

找到mysql的数据目录,可以看到binlog文件占用空间较多

du -sh ./*

2.Binlog日志清理

2.1.定时自动清理Binlog日志
show variables like '%expire_logs_days%';  --mysql 5.7
show variables like '%binlog_expire_logs_seconds%';  --mysql8.0# mysql5.7
# 这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:
set global expire_logs_days=10;# mysql8.0
# mysql8开始 expire_logs_days 废弃 启用binlog_expire_logs_seconds设置binlog自动清除日志时间
# 保存时间 以秒为单位;默认2592000 30天
# 14400   4小时;86400  1天;259200  3天;
set global binlog_expire_logs_seconds=86400;

2.2 手动删除Binlog日志
# 第一步:登陆进入mysql,并使用 show binary logs; 查看日志文件,可以看到与之前服务器内的文件一致。
show binary logs;

# 查看正在使用的日志文件:show master status;
show master status;
# 当前正在使用的日志文件是binlog.000079,那么删除日志文件的时候应该排除掉该文件。删除日志文件的命令如下
purge binary logs to 'binlog.000079';
# 删除除binlog.000079以外的日志文件,也可以指定其他文件名,例如binlog.000001。删除后就能释放大部分空间。


2.3.Slow日志清理

如何开启mysql慢查询日志?

# 步骤一 查看slow日志模式
show variables like 'log_output%';
# 步骤二 查看Slow日志文件位置
show variables like '%slow%';


# 步骤三 清空Slow日志
echo "">/var/lib/docker/overlay2/208f8ec99ffb5b103e7593fc54fcce1920faa6b57fb0056c3ffe9d8947031b1f/merged/usr/mysql/data
m/860a723cdf9b-slow.log #因为我是docker启动的mysql所以目录很长
2.3.Error日志清理

mysql开启错误日志的方法
MySQL8.0错误日志Error log介绍

#步骤一 查看error日志位置
show variables like 'log_error';

#步骤二 查看error日志大小
ll -h ./mysql_error.log
#步骤三 清空error日志
echo "">./mysql_error.log

3.表清理

  • 大表,指单个数据文件磁盘占用大于100G,或者单个表数据记录量大于1亿。
3.1.查看表占空间和记录数
#查看所有数据库各表容量大小
select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
-- where table_schema='test'
order by data_length desc, index_length desc;
3.1.常规表数据清理
#常规表指没达到大表标准的。
#Delete语法:
Delete from table_name [ where condition];
#Delete 只删除符合条件的数据,不会减少表所占空间。
#Delete 大量数据后,会存在碎片,需要整理回收碎片空间
optimize table table.name; #或者
alter table table.name engine='innodb'; #(会锁表,注意在业务低谷期执行)#Truncate语法:
Truncate table table_name;
#Truncate 删除全表数据,回收所占表空间。#Drop语法:
Drop table table_name;
#Drop 删除全表数据和表结构,回收所占表空间。

MySQL空间清理的几种具体方法相关推荐

  1. win8 C盘空间不足的几种解决方法

    win8 C盘空间不足的几种解决方法 参考文章: (1)win8 C盘空间不足的几种解决方法 (2)https://www.cnblogs.com/sun8134/archive/2013/03/27 ...

  2. C语言malloc申请空间函数的两种返回方法

    测试ok,代码如下: /********************************************* 功能:malloc申请空间函数的两种返回方法* 作者:lml 时间:2020年4月1 ...

  3. 硬盘在计算机上没显示内存不足,打开Excel2016提示内存或磁盘空间不足的两种解决方法...

    在Excel2016或者Excel2013中打开新建的空白文档提示:内存或磁盘空间不足,Microsoft Excel无法再次打开或保存任何文档. 要想获得更多的可用内存,请关闭不再使用的工作簿或程序 ...

  4. office打开服务器文件提示内存不足,Excel2016打开文档时提示内存或磁盘空间不足的两种解决方法...

    有时候,在Excel2016或者Excel2013中打开新建的空白文档提示:内存或磁盘空间不足,Microsoft Excel无法再次打开或保存任何文档.要想获得更多的可用内存,请关闭不再使用的工作簿 ...

  5. Mysql空间清理,最硬核

    作者:IT邦德 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程 (Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM. Mysql.Oce ...

  6. 阿里云mysql空间清理

    今天收到阿里云磁盘告警通知,查看了一个100G的空间已达到80G的使用量,如果决定删除2018年1月1日之前的数据,可delete后,再去查看发现磁盘可用空间并没有减少,还飞速的上涨,这可把我急坏了, ...

  7. django框架使用mysql报错,及两种解决方法

    1.django框架 settings.py文件中部分代码: DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqlite3',# ...

  8. android 下拉列表动画,android下拉列表空间Spinner的三种使用方法

    1.资源文件生成 android:id="@+id/spner" android:prompt="@string/city_prompt" android:la ...

  9. mysql 时间查询_两种常用MySql查询时间段的方法

    MySql查询时间段的方法很多,下面就为您介绍几种最常用的MySql查询时间段方法,如果您在MySql查询时间段方面遇到过问题,不妨一看. MySql的时间字段有date.time.datetime. ...

最新文章

  1. [Windows编程] 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE
  2. Symbian的内存管理机制
  3. SharePoint Serivce 安装时的一个问题
  4. 2.2.4 数据的的存储和排列
  5. aop springboot 传入参数_Springboot添加AOP打印请求参数
  6. 项目积压需求项目计划_需求变更频繁,项目经理如何做好需求管理?
  7. 蚂蚁金服资深技术专家经国:云原生时代微服务的高可用架构设计
  8. Kafka基础系列第1讲:Kafka的诞生背景及应用
  9. vue 连接地址下载 PDF
  10. 语义slam_【语义SLAM】MIT 新开源语义VIOSLAM框架 kimera
  11. 解析数论导轮中的数学实验(python)
  12. 7-6 输出上三角队形
  13. 紫猫安卓按键之其他命令
  14. AutoJs7、8版本快速接通vscode进行调试脚本
  15. qgjsfagafgpjqip
  16. MySQL数据库——锁机制
  17. XSS安全漏洞修复解决方案
  18. LINUX杀掉指定进程 脚本 守护进程
  19. linux hudson svn,Hudson Maven SVN快速搭建持续集成环境
  20. 弱类型语言为何不堪大用

热门文章

  1. gitee给自己项目添加star fork小徽章
  2. 西北工业大学NOJ数据结构—014求广义表深度
  3. noj14 求广义表深度
  4. 【NOIP2018】【RP++!】【神大退役记+一丢丢回忆录】
  5. Word中公式序号的标注方法(表格法与制表位法)
  6. Linux的标准输出 标准错误 标准输入 重定向
  7. base64 web前端js解码与转码
  8. M2006+C610驱动方案(二)arduino can模块
  9. 2.2. nmtui
  10. matlab——subplot函数用法