首页/数据/数据工程与 ETL 速查/PURGE BINARY LOGS:清理 binlog
CDC 与同步53 条

PURGE BINARY LOGS:清理 binlog

手动清理 binlog 用 PURGE BINARY LOGS TO(删除到指定文件之前)或 BEFORE(删除指定时间点之前),需要 BINLOG_ADMIN 或 SUPER 权限。清理前必须确认从库与 CDC 消费位点都不在待删区间内,否则只能重建链路。

按文件与时间清理

按文件与时间清理
-- 删除 mysql-bin.000150 之前的所有文件
PURGE BINARY LOGS TO 'mysql-bin.000150';
-- 删除 2026-10-01 之前产生的文件
PURGE BINARY LOGS BEFORE '2026-10-01 00:00:00';
权限BINLOG_ADMIN(或 SUPER)
不可恢复删除后无法找回,只能依赖备份
替代方式binlog_expire_logs_seconds 自动过期
清理前先用 SHOW BINARY LOGS 与各消费方位点核对;大促前“腾空间”式清理是 CDC 断链的常见诱因。

易错点

  • 清理时只看磁盘剩余空间,不看 CDC 消费位点,把还没采完的日志删掉
  • 把 PURGE 当成日常操作:应优先用自动过期 + 保留期余量监控,手工清理只用于应急

数据来源与参考

  • MySQL 8.0 Reference Manual: PURGE BINARY LOGS Statement
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌