MySQL日誌之二進位制日誌binlog

2021-10-09 02:27:21 字數 943 閱讀 4514

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語句。優...