在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日誌也能夠作增量備份。