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...

相關文章
相關標籤/搜索