二進制日志的文件的作用
mysql二進制日志文件用來記錄所有用戶對數據庫操作,即記錄用戶對數據庫操作的sql語句。如果有此文件,當數據庫發生意外時,可以通過此文件查看到用戶在此文件記錄的時間段內用戶所做的操作,再和數據庫備份配合使用,即可再現用戶操作,使數據庫恢復。
二進制日志文件的弊端
二進制日志文件開啟后,所有對數據庫操作的記錄均會被記錄到此文件,
所以,當長時間開啟之后,日志文件會變得很大,占用磁盤空間。
使用二進制日志文件恢復數據庫
開啟日志文件
mysql默認是不開啟日志文件的功能的,需要我們手動開啟。操作如下:
1、 打開mysql安裝目錄/my.ini(windows系統是my.ini文件,linux是my.cnf文件)。
2、 找到[mysqld]這個標簽,在此標簽下面一行,添加語句:log-bin=binary-log。上面語句中,log-bin說明要開啟二進制日志文件,binary-log是二進制日志文件的名字。
(測試的時候我設置的:log-bin=d:/mysql_log/logbin_ouyang.log)
3、 重啟mysql服務。可以在mysql安裝目錄/data 文件夾下看到“binary-log.數字編號”文件,
如binary-log.000001。以后每重啟一次mysql服務,都會重新生成二進制日志文件,
文件名中的數字編號依次遞增。
(你的上一步給出的文件名,加了個序號 還有一個總的文件 index文件 如圖1:)

恢復數據庫
使用日志文件恢復數據庫必須要有一個數據庫備份(只要是在二進制日志文件功能開啟之后備份的就行)。恢復數據庫時,可以通過時間恢復,也可以通過操作點恢復。
1、通過時間恢復方法如下:
如果我在2011-04-02 00:00:00時刻開啟了二進制日志文件功能,并備份了數據庫文件。且在2011-04-02 12:00:00數據庫發生異常,需要恢復到2011-04-02 10:00:00。則操作如下:
l 用備份將數據庫回復到2011-04-02 00:00:00時候的狀態。
l 在命令行輸入如下命令:
| mysqlbinlog --stop-date="你想要恢復的時間" 日志文件的目錄/binary-log.000001 | mysql -u root –p(D:/mysql_log>mysqlbinlog logbin_ouyang.000007 --stop-date="2011-10-23 15:05:00"|mysql -uroot -proot) |
這樣,系統會自動執行從二進制日志有記錄開始截止到2011-04-02 10:00:00,用戶所做過的所有操作。與stop-date對應的,還有start-date屬性,可以設定執行記錄的開始時間。也可以兩個屬性都設置。
2、通過操作點恢復方法如下:
新聞熱點
疑難解答