mysql默认保存一个月的binlog日志,可能会占用大量磁盘空间,可以考虑设置少一点。

修改配置文件

修改配置文件需要重启数据库,知道改哪里,方便后续检查。
编辑 / etc/my.cnf

1
2
3
# 只是单个文件的大小,控制总的磁盘空间大小没什么用
max_binlog_size = 500M
expire_logs_days = 15

通过sql修改

1
2
3
4
5
6
7
# mysql8.0以下版本查看当前数据库日志binlog保存时效 以天为单位,默认0 永不过期,最多只能设置99天
show variables like 'expire_logs_days';
set global expire_logs_days=60;

# mysql8.0以上版本通过设置全局参数binlog_expire_logs_seconds修改binlog保存时间 以秒为单位;默认2592000 30天 14400 4小时;86400 1天;259200 3天
show variables like '%binlog_expire_logs_seconds%';
set global binlog_expire_logs_seconds=1296000;

如果想清理目前已创建的binlog文件,可以在set完成之后,执行flush命令

1
flush logs