mysql 二进制日志 BINARY LOG 清理

绝地灬酷狼 2023-06-27 11:13 137阅读 0赞
关键字:mysql、log、二进制日志、二进制文件、log日志清理、binlog日志

MySQL 日志没有做优化切割和日期限制的话,日志文件会不断的生成,越来越大越来越多,知道撑爆磁盘内存为止

方法一、举例说明:手动清除

删除 mysql-bin.000728 之前的日志 (不包括mysql-bin.000728
删除 2019-08-20 12:13:59 时间点之前的日志

具体演示:删除某个时间点之前的日志
  1. mysql> purge binary logs before 2019-08-20 12:13:59’;
具体演示:删除某个日志之前的日志
  1. mysql> purge binary logs to 'mysql-bin.000133';
  2. 刷新并查看删除的情况
  3. mysql> flush logs;
  4. Query OK, 0 rows affected (0.02 sec)
  5. mysql> show master logs;
  6. +------------------+------------+
  7. | Log_name | File_size |
  8. +------------------+------------+
  9. | mysql-bin.000133 | 1074290521 |
  10. | mysql-bin.000134 | 1074376113 |
  11. | mysql-bin.000135 | 1073889449 |
  12. | mysql-bin.000136 | 1073762502 |
  13. | mysql-bin.000137 | 1074122317 |
  14. | mysql-bin.000138 | 1074522685 |
  15. | mysql-bin.000139 | 1074300235 |
  16. | mysql-bin.000140 | 1073804122 |
  17. | mysql-bin.000141 | 93587003 |
  18. | mysql-bin.000142 | 57117408 |
  19. +------------------+------------+
  20. 10 rows in set (0.00 sec)

方法二、举例说明:自动清除

【方法二】通过设置binlog过期的时间,使系统自动删除binlog文件

  1. mysql> set global expire_logs_days = 2; #设置binlog多少天过期
  2. mysql> show variables like 'expire_logs_days'; #设置 binlog 2 天过期
  3. +------------------+-------+
  4. | Variable_name | Value |
  5. +------------------+-------+
  6. | expire_logs_days | 2 |
  7. +------------------+-------+

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql-slow.log-清理

    mysql慢查询日志     作为运维人员,磁盘空间也是监控中重要的一个环节,数据库服务器磁盘空间不足告警,有时候不是因为业务数据量大,而是因为开启了慢查询,如果my.c

    相关 MySQL 二进制日志bin-log

    二进制日志文件 MySQL 的二进制日志记录的是所有 MySQL 数据库发生变更的信息,对数据库维护有很大作用。 作用 参考 [MySQL DBA 系统学习(