• 设置expire_logs_days自动过期清理binlog


    生产上有一个比较小的系统,发现mysql占用空间较大,经排查发现是binlog比较多引起的

    查看binlog过期时间,设置的时间为90天,这个值默认是0天,也就是说不自动清理,可以根据生产情况修改,本例修改为7天

    1. mysql> show variables like 'expire_logs_days';
    2. +------------------+-------+
    3. | Variable_name | Value |
    4. +------------------+-------+
    5. | expire_logs_days | 90 |
    6. +------------------+-------+
    7. 1 row in set (0.00 sec)
    1. mysql> set global expire_logs_days=7;
    2. Query OK, 0 rows affected (0.00 sec)

    设置之后不会立即清除,触发条件是:

    binlog大小超过max_binlog_size
    手动执行flush logs
    重新启动时(MySQL将会new一个新文件用于记录binlog)

    我们执行flush logs;

    1. mysql> flush logs;
    2. Query OK, 0 rows affected, 64 warnings (0.16 sec

    如果binlog非常多,不要轻易设置改参数,有可能导致io争用,这时候可以使用purge命令予以清除:

     

    将bin.000055之前的binlog清掉:

    1. mysql>purge binary logs to 'bin.000055';

    将指定时间之前的binlog清掉:

     
      1. mysql>purge binary logs before '2017-05-01 13:09:51';
  • 相关阅读:
    Spring--AOP--面向切面编程
    Spring ---annotation (重点)--Resource, Component 重要!!!
    Spring ---annotation (重点)--AutoWired 不常用
    ts 交集类型
    ts 使用 keyof typeof
    Dart 编写Api弃用警告
    js 反应&行动
    perl 打印简单的help文档
    perl 在windows上获取当前桌面壁纸
    perl 打印目录结构
  • 原文地址:https://www.cnblogs.com/liqing1009/p/16044097.html
Copyright © 2020-2023  润新知