mysql删除binlog日志及日志恢复数据的方法

文章原始出处:http://wangwei007.blog.51cto.com/68019/1101757



    • 基本上大家装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 ‘2008-06-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="2005-04-20 9:01:00" --stop-date="2005-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="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql     
    •  
    • #同样的,如果我们只是想查看某段时间的操作,直接把它导到一个文件即可。  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值