MySQL运维——清理 MySQL 主库(Master)上 10 天前的二进制日志(binlog)文件

PURGE MASTER LOGS BEFORE DATE_SUB(NOW(), INTERVAL 10 DAY);

手动执行 PURGE 容易遗漏,建议在 MySQL 配置文件中设置自动清理,一劳永逸:

# my.cnf 或 my.ini
expire_logs_days = 10  -- 自动清理10天前的binlog(MySQL 5.7及以下)
binlog_expire_logs_seconds = 864000  -- 自动清理10天(864000秒)前的binlog(MySQL 8.0+,推荐)

修改后重启 MySQL 生效,或动态生效(无需重启):

-- MySQL 5.7及以下
SET GLOBAL expire_logs_days = 10;
-- MySQL 8.0+
SET GLOBAL binlog_expire_logs_seconds = 864000;
Categories: 数据库运维