MySQL数据库空间占用优化策略

问题场景描述:

MySQL数据库服务器配置:200G,磁盘占用情况异常,使用率直增【当前使用率57%】。

【输入】查看mysql当前所有的数据库和索引大小
select table_schema, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_size
from information_schema.tables
group by table_schema
order by data_length desc;

统计数据库空间占用1G左右,继续检索。

【输入】du -sh /var/lib/mysql

统计MySQL默认的数据文档存储目录文件磁盘占用50G,什么情况。

查看资料发现MySQL的binlog文件过多导致的。该日志文件记录了对数据库除了查询的所有操作。可以用来数据恢复、主从复制和判断数据库是否被攻击审计。

调整MySQL定时清理日志,查看binlog过期时间。

【输入】show variables like 'expire_logs_days';

发现过期时间为0,修改expire_logs_days值。可以在不重启mysql的情况下执行,设置过期时间为30天。

【输入】set global expire_logs_days = 30;

查看磁盘空间占用,嗯!!没生效。继续查。

设置之后不会立即清除,触发条件是:执行flush logs

【输入】flush logs;

再查看磁盘空间占用情况,/var/lib/mysql数据文档存储目录占用20G,解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值