背景:
总共 80G的磁盘, MySQL占据了一大半, 清理任务迫在眉睫
root@l1:/var/lib/mysql# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.7G 0 1.7G 0% /dev
tmpfs 342M 792K 342M 1% /run
/dev/vda2 79G 71G 5.0G 94% /
tmpfs 1.7G 24K 1.7G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup
tmpfs 342M 0 342M 0% /run/user/0
root@l1:/var/lib/mysql# du -sh .
44G .
限制 binlog 记录时长
限制 binlog 记录时长 为 7 天 (默认为 30天)
set global binlog_expire_logs_seconds=604800;
set persist binlog_expire_logs_seconds=604800;
也可以通过修改配置文件,将binlog_expire_logs_seconds=604800 加到[mysqld]下
解释:
8.0
之前的版本,binlog的失效日志配置项 expire_logs_days
. 单位:天。
8.0
新增配置项 binlog_expire_logs_seconds
,单位:秒
推荐使用 binlog_expire_logs_seconds
也可以通过修改配置文件,将 binlog_expire_logs_seconds=604800
加到[mysqld]下
清理 binlog 日志
清理掉 3 天前的 binlog 日志
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);