当前位置: 代码网 > it编程>数据库>Mysql > 如何清理MySQL中的binlog问题

如何清理MySQL中的binlog问题

2025年05月27日 Mysql 我要评论
清理mysql中的binlogmysql的binlog开启后一直没清理,占用太大空间1.查看binlog过期时间show variables like 'expire_logs_days';expir

清理mysql中的binlog

mysql的binlog开启后一直没清理,占用太大空间

1.查看binlog过期时间

show variables like 'expire_logs_days';

expire_logs_days=0:

  • 这里的值如果为0,表示所有binlog日志永久都不会失效,不会自动删除;
  • 这里的值如果为30,表示只保留最近30天。

2. 修改binlog过期时间

永久生效(重启后即生效)

修改配置文件my.cnf文件: vim /etc/my.cnf

在[mysqld]标签内增加如下内容

expire_logs_days=30
max_binlog_size=1024m

修改保存后,以下3种情况才生效

  • 1)当binlog大小超过max_binlog_size
  • 2)手动执行flush logs
  • 3)重新启动

为了使之生效,需要执行flush logs。

mysql> flush logs;
query ok, 0 rows affected, 64 warnings (0.16 sec

3.手工清除历史binlog

如果binlog非常多,推荐使用purge命令予清除历史文件:

比如将mysql-bin.009560之前的binlog清掉:

mysql>purge binary logs to 'mysql-bin.009560';

或者指定时间之前的binlog清掉:

mysql>purge binary logs before '2022-01-01 23:59:59';

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com