mysql binlog压缩处理


title: mysql binlog压缩处理 tags:

  • mysql
  • binlog
  • crontab
  • gzip
  • expire categories: mysql date: 2017-04-25 18:18:55

前一段时间系统mysql压力较大,产生大量binlog,大量的binlog删除后又担心后期出现问题难以调查,保存后又占用本身的空间存储。

每天产生的binlog可以多达5-6G。

因此考虑是否扩容机器达到目的?

经过运维同学 建议,可以压缩mysql binlog(以前担心压缩了mysqlbinlog后会导致mysql-bin.index文件报错,其中记录了相关index)。

为避免干扰mysql binlog自动删除机制

采取方案如下:

  1. 设置binlog自动删除日志时间(比如3天),此时存储假设一天5G大概会有15G
  2. gzip昨天产生的binlog到新的文件,不删除binlog
  3. binlog仍然交托给mysql管理删除

这样最小化侵入到mysql中。

尝试后发现

压缩了8天的binlog腾出了大约20G的空间。

在mysql配置中设置删除binlog时间

    set global expire_logs_days = 3;
复制代码

增加crontab管理压缩binlog

    0 3 * * * find /data/mysqldb/mysql-bin.* -mtime 2 ! -name '*.gz'  -exec tar -zcvf {}.gz {} \;
复制代码

在增长保持恒定速度的情况下,每天增长的压缩后的binlog容量大约为不到200M。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值