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还未传到从库便因过期而删除,导致主从不一致!!!

  • 相关阅读:
    zeplin使用教程
    如何卸载命令行全局安装的包
    webstrom快捷键
    更新npm至最新版本
    mac环境下安装react项目环境
    横向滚动条布局
    JAVA语法基础——动手动脑
    JAVA语言课堂测试
    暑假第八周进度报告
    暑假第七周进度报告
  • 原文地址:https://www.cnblogs.com/samsui/p/12035496.html
Copyright © 2011-2022 走看看