mysql中开启binlog功能,主要是为了方便日后恢复数据。
而开启binlog的坏处是日志文件增长速度快,很快占会占满磁盘空间,要定期或手工来删除过大的日志文件。
删除binlog日志文件的方法,这里提供几个参考方法。
一、设置日志保留时长expire_logs_days自动删除
二、手动删除BINLOG (purge binary logs)
其它:
查看当前日志文件列表: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
#同样的,如果只是想查看某段时间的操作,直接把它导到一个文件即可。
有关mysql中binlog日志的删除,以及恢复数据的方法,就介绍这些了,希望对大家有所帮助。
您可能感兴趣的文章:
自动与手动清理mysql-binlog日志的方法
mysqldump使用binlog二进制日志进行备份的例子
mysql设置自动清理binlog日志的方法
理解Mysql binlog 日志的三种模式
学习mysql binlog日志清理
删除Mysql中binlog日志的二种方法
使用binlog恢复mysql数据的简单例子
如何在mysqldump时加上binlog日志的位置号