一、binlog日誌格式
根據日誌定義的格式不一樣,可以分為statement格式、row格式或者mixed格式
mysql5.6----》
| binlog_format | statement |
mysql5.7---》
| binlog_format | row |
理解三種不同的格式
a: statement格式
說明:基於語句的,記錄操作的sql語句
優點:缺點:
(以上格式不推薦使用,但是在mysql5.7以前都是預設的格式)
b: row格式
說明: 記錄操作的每一行資料
優點:缺點:
(推薦使用)
從mysql5.7之後,預設的格式為row格式
table_map: 記錄表的元資料資訊
rows_event分為三種:write_rows_event,update_rows_event,delete_rows_event,分別對應insert,update和delete操作。
[root@node8 m_data]# mysqlbinlog master-bin.000004 -vv
### insert into `mydb`.`parent`
### set
### @1=10 /* int meta=0 nullable=1 is_null=0 */
### insert into `mydb`.`parent`
### set
### @1=20 /* int meta=0 nullable=1 is_null=0 */
### insert into `mydb`.`parent`
### set
### @1=30 /* int meta=0 nullable=1 is_null=0 */
@1表示列1的值
c: mixed格式
說明:混合使用row和statement格式,對ddl記錄會使用statement,對於table裡的行操作會記錄row格式
如果是innodb表,事務級別為read committed 或者 read uncommitted日誌級別只能使用row格式
(一般不推薦使用mixed格式)
MySQL日誌之二進位制日誌binlog
mysql與oracle等資料庫不同,redo log不會作為歸檔,僅做failover等作用 mysql引用了binlog來實現歸檔日誌,提供複製 恢復 審計功能。在mysql中,redo log和binlog有以下三點不同 binlog是記錄所有資料庫結構變更 例如create alter ta...
mysql 二進位制日誌
如果mysql 伺服器啟用了二進位制日誌,你可以使用mysqlbinlog工具來恢復從指定的時間點開始 例如,從你最後一次備份 直到現在或另乙個指定的時間點的資料。mysqlbinlog 用於處理二進位制日誌檔案的實用工具 要想從二進位制日誌恢復資料,你需要知道當前二進位制日誌檔案的路徑和檔名。一般...
mysql 二進位制日誌
1.日誌型別 二進位制日誌記錄了所有對mysql資料庫的修改事件,包括增刪改事件和對錶結構的修改事件。2.配置使用二進位制日誌 在my.ini 配置 log bin mysql bin 3.二進位制日誌格式 基於段的日誌格式 binlog format statement 記錄了操作的sql語句。優...