Mysql資料庫日誌,備份及回滾操作

2022-09-17 07:00:10 字數 2005 閱讀 9784

一、開啟二進位制日誌配置 :

在windows系統下,對mysql的my.ini的log-bin等進行配置目錄位置時,假設要將log-bin的日誌配置到d盤的mysqllog的檔案為binlog。則可以如下配置 :

[mysqld]

log-bin="d:\mysqllog/binlog"  注意:在這裡的最後乙個路徑採用的是"/"而不是windows檔案系統的「\"

二、二進位制日誌處理:

1、檢視

採用mysqlbinlog.exe。可以在安裝目錄的server裡的bin目錄下找到。

檢視: cmd> mysqlbinlog.exe filename (新增 --database [databasename] 可以檢視某個特定的資料庫的sql日誌)

2、暫停日誌記錄

mysql> set sql_log_bin=0/1  設定為0:表示暫停記錄;否則為1;

3、刪除二進位制日誌

mysql> resetmaster;  (注意,將刪除全部,要小心!!!!)

mysql> purge master logs to filename.number: 刪除編號小於number的日誌;

mysql> purge master logs before 'yyyy-mm-dd hh:mm:ss' : 刪除日誌前的日誌;

4、重新整理日誌,使得當前的日誌編號增加一

採用mysqladmin.exe. 可以在安裝目錄的server裡的bin目錄下找到。

如當前的伺服器的日誌檔案為: binlog.000002

則執行: cmd> mysqladmin -u root -p flush-logs    :輸入密碼

執行之後,在二進位制日誌目錄下會增加乙個新的日誌檔案: binlog.000003。此後,伺服器的新日誌將會寫到binlog.000003。

此做法很適合於增量備份時使用。

三、資料庫備份與還原

採用mysqldump.exe. 可以在安裝目錄的server裡的bin目錄下找到。

1、完全備份:

cmd> mysqldump -u root -p test > test.sql   :輸入密碼  將會備份資料庫名為test的資料庫到mysqldump.exe所在的目錄的test.sql檔案。

2、完全備份整個伺服器的資料庫,並重新整理日誌檔案:

重新整理日誌檔案的目的:告訴伺服器將日誌寫到新的日誌檔案,為此,將來進行的備份就不用再進行完全備份了,只需要備份新的日誌檔案。實現」增量備份「

cmd> mysqldump -u root -p --flush-logs   執行之後將會生成更多的新的日誌檔案。如備份3個資料庫時,會再生成3個日誌檔案。因為3個資料庫的備份是被看成3個不同的事務執行的。因此,加上:--single-transaction 標記之後,將作為乙個事務。因此,只會增加乙個日誌檔案。

3、還原操作:

注意:由於一般情況下,系統的二進位制日誌是開啟的,因此,執行還原時,會將還原的sql**同樣寫入到日誌。當顯然,這些**並不一定是需要存在的。因此,可以用暫停二進位制日誌的方式進行避免,但是,我在測試時,發現採用:set sql_log_bin=0並不能做到。因此,可以採用以下的做法:

1)、重新整理乙個日誌檔案: cmd> mysqladmin -u root -p flush-logs. (這個檔案用於存放還原時產生的日誌,而不會影響原來的日誌)

2)、執行還原乙個資料庫:test:cmd> mysql  -u -root -p < test.sql; 

3)、再將」增量「的日誌執行到資料庫test(要小心,不要執行其他資料庫的二進位制日誌):

cmd>  mysqlbinlog log.number | mysql -u root -p test 。

可以加入--database [name]的引數,指定只選擇增量還原某個資料庫的sql。如針對 test資料庫: 

cmd> mysqlbinlog log.number --database test | mysql -u root -p test

4)、在此過程生成的日誌檔案可以考慮刪除。因為是原來的資料。

mysql回滾日誌

一 回滾日誌 undo log 1 作用 儲存了事務發生之前的資料的乙個版本,可以用於回滾,同時可以提供多版本併發控制下的讀 mvcc 也即非鎖定讀 2 內容 邏輯格式的日誌,在執行undo的時候,僅僅是將資料從邏輯上恢復至事務之前的狀態,而不是從物理頁面上操作實現的,這一點是不同於redo log...

資料庫回滾

oracle恢復刪除表或表記錄 一 表的恢復 對誤刪的表,只要沒有使用purge永久刪除選項,那麼從flash back區恢復回來希望是挺大的。一般步驟有 1 從flash back裡查詢被刪除的表 select from recyclebin 2.執行表的恢復 flashback table tb...

資料庫回滾問題

今天遇到的小問題 override public result importexcel multipartfile file throws illegalacces ception,instantiationexception,ioexception,invalidformatexception e...