mysqlbinlog 简单实践

开启bin-log

在MySQL的配置文件中添加配置项,而后重启mysqlhtml

server_id=1 //5.7要求
log-bin=mysql-bin

若是不知道mysql配置项在哪,能够使用一下命令查看mysql

mysql --help --verbose|grep 'my.cnf'

能够看到配置项sql

查看 binlog名字

mysqlbinlog简介

--start-datetime 指定开始时间spa

--end-datetime 指定结束时间日志

mysqlbinlog --start-datetime="2016-08-09 5:05:27" /var/lib/mysql/mysql-bin.000001

--start-position 开始位置,即bingLog日志中的at后面的数字code

--end-position 结束位置server

mysqlbinlog --start-position="2698" /var/lib/mysql/mysql-bin.000001

查看当前的binlog状态htm

show binaray logs;

关于binlog文件的生成:每重启一次,便会从新生成一个binlog文件;还有一种状况就是运行了FLUSH LOGS命令也会重建一个;还有一种状况就是当这个binlog文件的大小到了设定的值后,就会从新生成一个新的,我这里之因此会有第二个,是由于我刷新了日志blog

还原

binlog 默认在/var/lib/mysql/下,导出binlog里面的数据rem

mysqlbinlog --stop-position="2698" /var/lib/mysql/mysql-bin.000001 > Back.sql
# 还原
mysql -uroot -p < back.sql

固然我这个只是简单的尝试,实际生产若是真要这么干的话,要复杂的多,并且通常不要这么干,若是真的管理好的话,能够用定时备份的数据来还原

总结

  按期使用 FlUSH LOGS 或者 mysqladmin flush-logs ,该操做会关闭当前的二进制日志文件,并新建一个binlog日志文件。(和重启mysql后新建的binlog操做同样)。以备份binlog日志,利用binlog日志也能够作增量备份。

参考文章:http://www.cnblogs.com/hanyif...

相关文章
相关标签/搜索