在MySQL的配置文件中添加配置项,而后重启mysqlhtml
server_id=1 //5.7要求 log-bin=mysql-bin
若是不知道mysql配置项在哪,能够使用一下命令查看mysql
mysql --help --verbose|grep 'my.cnf'
能够看到配置项sql
--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日志也能够作增量备份。