mysql 基礎架構分為 server 層和儲存引擎層兩部分。
為了讓兩份日誌之間的邏輯一致,
innodb 使用了兩階段提交機制,將 redo log 的寫入拆成 prepare 和 commit 兩步。
redo log 和 binlog 有共同的資料字段 xid。崩潰恢復時,會按順序掃瞄 redo log,
redo log 是 innodb 引擎特有的,而 binlog 是 server 層實現的
redo log 是物理日誌,記錄資料頁的修改,用來實現 crash-safe 能力。
而 binlog 是邏輯日誌,記錄 sql 語句的原始邏輯,用來歸檔和複製。
redo log 是固定大小的,而 binlog 是追加寫入的,不會覆蓋以前的日誌。
MySQL開啟binlog日誌
mysql開啟binlog日誌很簡單,只需要找到配置檔案,在配置檔案中的 mysqld 配置段新增下面一句話就可以了 log bin mysql bin 這樣就開啟了mysql的binlog日誌。使用下面的sql語句在mysql的客戶端可以檢視binlog日誌是否開啟 show master log...
mysql 匯出binlog日誌
首先你得開啟了mysql的bin log.找到你的mysqlbinlog。執行 find name mysqlbinlog 檢視mysql server上的二進位制日誌 mysql showbinarylogs 將binlog檔案匯出為sql檔案 usr local src mysql 5.7.10...
Mysql開啟binlog 實踐
mysql binlog是mysql資料庫的二進位制日誌,用於記錄使用者對資料庫操作的sql語句 除了資料查詢語句 資訊。binlog的格式也有三種 statement row mixed 我使用的是用docker安裝的mysql,所以需要提前掛載好配置檔案。開啟binlog方法 1 找到 my,c...