zoukankan      html  css  js  c++  java
  • 正确清理binlog日志

    摘要: MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对binlog使用正确安全的方法清理掉一部分没用的日志。

    【方法一】手动清理binlog
    清理前的准备:
    ① 查看主库和从库正在使用的binlog是哪个文件
    show master statusG 
    show slave statusG    
    ② 在删除binlog日志之前,首先对binlog日志备份,以防万一

    开始动手删除binlog:
    purge master logs before'2016-09-01 17:20:00'; //删除指定日期以前的日志索引中binlog日志文件

    purge master logs to'mysql-bin.000022';  //删除指定日志文件的日志索引中binlog日志文件
    注意:
    时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号,以防不小心将正在使用的binlog删除!!!
    切勿删除正在使用的binlog!!!
    使用该语法,会将对应的文件和mysql-bin.index中的对应路径删除。

    【方法二】通过设置binlog过期的时间,使系统自动删除binlog文件
    mysql> show variables like 'expire_logs_days';  
    +------------------+-------+  
    | Variable_name    | Value |  
    +------------------+-------+  
    | expire_logs_days |     0    |  
    +------------------+-------+  
    mysql> set global expire_logs_days = 30;        #设置binlog多少天过期
    注意:
    过期时间设置的要适当,对于主从复制,要看从库的延迟决定过期时间,避免主库binlog还未传到从库便因过期而删除,导致主从不一致!!!

  • 相关阅读:
    Android开发探秘之一:创建可以点击的Button
    TCP之心跳包实现思路
    Asp.net与Dojo交互:仪器仪表实现
    Asp.net Json数据解析的一种思路
    Asp.net通过Jquery操作WebService进行Ajax读写
    GridView自定义删除操作
    从客户端中检测到有潜在危险的request.form值
    JUC-Condition线程通信
    ModelAndView 配置与使用
    SpringMVC之ModelAndView的用法(转)
  • 原文地址:https://www.cnblogs.com/samsui/p/12035496.html
Copyright © 2011-2022 走看看