




























我来帮您解决 MySQL binlog 文件占用空间过大的问题。以下是几个处理方案:
-- 查看当前的 binlog 文件列表
SHOW BINARY LOGS;
-- 手动删除指定日期之前的 binlog
PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY);
-- 或者删除指定文件之前的所有日志
PURGE BINARY LOGS TO 'mysql-bin.000123';
-- 设置 binlog 保留天数(比如保留7天)
SET GLOBAL expire_logs_days = 7;
-- MySQL 8.0之后使用以下命令
SET GLOBAL binlog_expire_logs_seconds = 604800; -- 7天 = 7*24*60*60秒
my.cnf 或 my.ini 中添加:# 设置 binlog 过期时间(天)
expire_logs_days = 7
# MySQL 8.0+ 使用
binlog_expire_logs_seconds = 604800
# 设置单个 binlog 文件的最大值(默认1G)
max_binlog_size = 100M
建议采取的步骤:
注意事项:
如果您只是临时需要清理空间,使用 PURGE BINARY LOGS 是最快的方法。但从长远来看,建议同时设置自动过期策略,避免再次出现空间占用过大的情况。
#MySQL
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。