mysql與oracle等資料庫不同,redo log不會作為歸檔,僅做failover等作用;mysql引用了binlog來實現歸檔日誌,提供複製、恢復、審計功能。
在mysql中,redo log和binlog有以下三點不同:
binlog是記錄所有資料庫結構變更(例如create、alter table…)以及表資料修改(insert、update、delete…)的二進位制日誌。binlog不會記錄select和show這類操作,因為這類操作對資料本身並沒有修改,但可以通過查詢日誌general_log來檢視mysql執行過的所有語句。
三個重要用途:
binlog是一組檔案,由一組二進位制日誌檔案和乙個索引檔案組成。
binlog檔案
binlog cache:實際上就是引數binlog_cache_size指定的大小,它指定的是一段記憶體空間用於儲存生成的binlog event。
binlog cache 臨時檔案:實際上就是引數max_binlog_cache_size指定的大小,它指定是乙個臨時磁碟檔案儲存由於binlog cache不足溢位的binlog event,其名字由"ml"打頭。
binlog file:代表就是我們平時說的binglog 檔案,由max_binlog_size指定大小。
binlog event:代表是各種各樣的binlog中的記錄比如map_event/query event/xid event/write event等。
binlog event
binlog原始碼檔案在binlog_event.h
enum log_event_type logs {
to 'log_name'
| before datetime_expr
MySQL之二進位制日誌
一 binlog日誌格式 根據日誌定義的格式不一樣,可以分為statement格式 row格式或者mixed格式 mysql5.6 binlog format statement mysql5.7 binlog format row 理解三種不同的格式 a statement格式 說明 基於語句的,...
mysql 二進位制日誌
如果mysql 伺服器啟用了二進位制日誌,你可以使用mysqlbinlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。mysqlbinlog 用於處理二進位制日誌檔案的實用工具 要想從二進位制日誌恢復資料,你需要知道當前二進位制日誌檔案的路徑和檔名。一般...
mysql 二進位制日誌
1.日誌型別 二進位制日誌記錄了所有對mysql資料庫的修改事件,包括增刪改事件和對錶結構的修改事件。2.配置使用二進位制日誌 在my.ini 配置 log bin mysql bin 3.二進位制日誌格式 基於段的日誌格式 binlog format statement 記錄了操作的sql語句。優...