【mysql 大表清理】磁盘占用太多,清理无效大表

在使用MySQL数据库时,有时候由于数据量增加或者磁盘空间限制,会导致数据库磁盘空间不足的问题。这会影响到数据库的正常运行,需要及时清理磁盘空间来解决问题。本文将介绍如何清理MySQL数据库的磁盘空间,并给出示例以帮助读者更好地理解。

1、查看磁盘空间占用

python 复制代码
df -lh

2、linux 文件按大小排序,从大到小排序

python 复制代码
du -sh ./*

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

python 复制代码
cd  /var/lib/mysql
du -sh ./*

4、手动删除bin日志文件

python 复制代码
mysql -u root -p

# 查看正在使用的日志文件:show master status;
show master status;
# 当前正在使用的日志文件是binlog.000070,那么删除日志文件的时候应该排除掉该文件。删除日志文件的命令如下
purge binary logs to 'binlog.000070';

5、查看mysql 大表 占用磁盘,从大到小排序

python 复制代码
select
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024/1024, 2) as '数据容量(GB)',
truncate(index_length/1024/1024/1024, 2) as '索引容量(GB)'
from information_schema.tables
-- where table_schema='test'
order by data_length desc, index_length desc;

6、针对无用大表我们进行清除即可。

python 复制代码
truncate table;
相关推荐
JAVA不会写3 分钟前
在Mybatis plus中如何使用自定义Sql
数据库·sql
IT 小阿姨(数据库)4 分钟前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
ChinaRainbowSea28 分钟前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
小马学嵌入式~2 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
Java小白程序员2 小时前
MyBatis基础到高级实践:全方位指南(中)
数据库·mybatis
Monly212 小时前
人大金仓:merge sql error, dbType null, druid-1.2.20
数据库·sql
不宕机的小马达2 小时前
【Mysql|第一篇】Mysql的安装与卸载、Navicat工具的使用
数据库·mysql
孔丘闻言2 小时前
python调用mysql
android·python·mysql
float_六七2 小时前
数据库连接池:性能优化的秘密武器
数据库·oracle·性能优化
码界奇点2 小时前
MongoDB vs MySQLNoSQL与SQL数据库的架构差异与选型指南
数据库·sql·mongodb·系统架构