首页/数据/数据库速查/binlog 清理与过期策略
备份与恢复56 条

binlog 清理与过期策略

binlog 不能无限堆积:设置过期时间自动清理(binlog_expire_logs_seconds,8.0 默认 2592000 秒=30 天),或按文件手工 PURGE;主从环境必须保留足够窗口。

数据库速查数据更新于 2026-10-12

查看与清理

查看与清理
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
SHOW BINARY LOGS;
PURGE BINARY LOGS TO 'mysql-bin.000042';
PURGE BINARY LOGS BEFORE '2026-10-01 00:00:00';
自动过期binlog_expire_logs_seconds(8.0);5.7 为 expire_logs_days
手工清理PURGE BINARY LOGS TO/BEFORE
底线保留窗口 ≥ 从库最大延迟 + 全备间隔
主库上 PURGE 前确认没有从库还依赖更早的位点,否则从库直接断链报 1236。

易错点

  • PURGE 是不可逆操作:手工清理前先确认所有从库 IO 位点都已越过目标文件
  • expire 参数调小想省空间,结果把从库需要的 binlog 清掉,属于典型事故

数据来源与参考

  • MySQL 8.0 Reference Manual: PURGE BINARY LOGS

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌