清理MySQL的binlog日志

前言

MySQL的binlog是以二进制形式打印的日志,没设置自动删除的话,时间长了就会占用大量存储空间。删除MySQL的binlog日志有两种方法:自动删除和手动删除。

自动删除

  • 永久生效:修改MySQL配置文件my.cnf,配置binlog的过期时间,重启生效。
expire_logs_days=30
  • 临时生效:即时生效,重启后失效。
-- 设置过期时间为30天
set global expire_logs_days=30;

手动删除

手动删除前需要先确认主从库当前在用的binlog文件。

  • 主库:show master status;
  • 从库:show slave status\G

假设当前在用的binlog文件为master-bin.000277,现需要删除master-bin.000277之前的所有binlog日志文件(不删master-bin.000277):

PURGE MASTER LOGS TO 'master-bin.000277';

其它

  • 查看binlog文件:show binary logs;

参考

posted @ 2022-03-24 23:56  花酒锄作田  阅读(8398)  评论(0编辑  收藏  举报