MySQL之binlog文件过多处理方法

背景

MySQL由于大量读写,导致binlog文件特别的多。从而导致服务器disk空间不足问题。

先备份binlog文件

tar -zcvf mysql.tar.gz mysql/data/mysql-bin.00*

修改MySQL配置

binlog过期时间

show variables like 'expire_logs_days';

这里 0 表示 永不过期

如果为 n (n>0) 表示 保留最近n天binlog文件

设置自动清理

修改配置文件,在mysqld标签下增加内容:

xml 复制代码
expire_logs_days=7
max_binlog_size=1024M

这里需要重启MySQL

手动清理binlog文件

删除指定日期之前的binlog
purge binary logs before '2023-12-01 23:59:59';
删除指定文件之前的binlog
purge binary logs to 'mysql-bin.000003';

相关推荐
SelectDB1 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶2 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵5 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils5 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
SamDeepThinking10 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客2 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence2 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将2 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils3 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库