背景
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]标签下增加内容:
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';