【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;
相关推荐
月光水岸New1 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6751 小时前
数据库基础1
数据库
我爱松子鱼1 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo2 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser3 小时前
【SQL】多表查询案例
数据库·sql
Galeoto3 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)3 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231113 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白3 小时前
PostgreSQL:更新字段慢
数据库·postgresql
敲敲敲-敲代码3 小时前
【SQL实验】触发器
数据库·笔记·sql