黑帽联盟

 找回密码
 会员注册
查看: 1318|回复: 0
打印 上一主题 下一主题

[基础服务] 删除mysql binlog日志

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    基本上大家装mysql,都会开启binlog功能,开启这个功能的好处是,日后方便恢复数据,而坏处是日志文件增长速度快,很快占会占满磁盘空间,所以我们要定期或手工来删除过大的日志文件.

    删除日志文件的方法大概有如下几中:

    一、设置日志保留时长expire_logs_days自动删除

    #查看当前日志保存天数:

    show variables like ‘%expire_logs_days%’;   

    #这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:

    set global expire_logs_days=7;   

    #设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置   

    expire_logs_days = 7   

    二、手动删除BINLOG (purge binary logs)

    #用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志.这些日志也会从记录在日志索引文件  

    PURGE {MASTER | BINARY} LOGS TO ‘log_name’   
    PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

    #例如:

    PURGE MASTER LOGS TO ‘mysql-bin.010′;   
    PURGE MASTER LOGS BEFORE ‘2017-05-22 13:00:00′;   
    PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);  

    其它:

    查看当前日志文件列表:show binary logs或是show master logs;  
    使用binlog日志的目的是为了方便恢复数据,所以我们不光要会删除,还要会用日志来恢复数据.

    使用binlog恢复数据:

    使用mysqlbinlog命令恢复日志

    mysqlbinlog -d test /root/mysql/mysql-bin.000001|mysql -uroot -ppassword   


    #1、关于mysqlbinlog在mysql 5.0上的使用方法,可以参考:官方资料

    #2、如果不知道log-bin存放的文件位置,可以使用下面的命令查看:

    mysql -uroot -ppassword -e 'SHOW BINLOG EVENTS \G'     

    #3、当只是需要恢复部分记录的时候,你可以使用时间点或位置点来定位,例如:   

    mysqlbinlog --start-date="2017-04-20 9:01:00" --stop-date="2017-04-20 10:00:01" /var/log/mysql/bin.123456|mysql -uroot -ppassword[code]     

    #意思是恢复4月20日早上9点到10点这一段时间的数据.  

    mysqlbinlog --start-position="368301" --stop-position="368312"/var/log/mysql/bin.123456| mysql -uroot -pmypwd     

    #意思是重做368301到368312位置点之间的操作.(位置点可以就是用mysqlbinlog看到的at xxx节点)     

    mysqlbinlog --start-date="2017-04-20 9:55:00" --stop-date="2017-04-20 10:05:00" /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql     

    #同样的,如果我们只是想查看某段时间的操作,直接把它导到一个文件即可.

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部