您好,登錄后才能下訂單哦!
下面講講關于MySQL binlog中三種事件類型XID_EVENT、ROTATE_EVENT及STOP_EVENT介紹,文字的奧妙在于貼近主題相關。所以,閑話就不談了,我們直接看下文吧,相信看完MySQL binlog中三種事件類型XID_EVENT、ROTATE_EVENT及STOP_EVENT介紹這篇文章你一定會有所受益。
1、XID_EVENT
當事務提交時,不論是statement還是row格式的binlog都會添加一個XID_EVENT作為事務的結束。該事件記錄了該事務的ID。在mysql進行崩潰恢復時根據binlog中提交的情況來決定是否提交存儲引擎中prepared狀態的事務。
2、ROTATE_EVENT
當binlog文件大小達到max_binlog_size參數設置的值或執行flush logs命令時,binlog發生切換,這時會在當前使用的binlog文件末尾添加一個ROTATE_EVENT事件,將下一個binlog文件的名稱和位置記錄到該事件中。
3、STOP_EVENT
當MySQL服務停止時,會在當前binlog文件尾添加一個STOP_EVENT事件表示數據庫的停止。該事件僅包括一個公有事件頭,沒有私有事件頭和事件體。只需要公有事件頭的event type就可以了。
4、代碼
Xid_log_event::write Log_event::write_header wrapper_my_b_safe_write(file, (uchar*) &xid, sizeof(xid)) write_footer(file))//checksum Rotate_log_event::write write_header(file, ROTATE_HEADER_LEN + ident_len) wrapper_my_b_safe_write(file, (uchar*) buf, ROTATE_HEADER_LEN) wrapper_my_b_safe_write(file, (uchar*) new_log_ident,(uint) ident_len)write_footer(file))
對于以上MySQL binlog中三種事件類型XID_EVENT、ROTATE_EVENT及STOP_EVENT介紹相關內容,大家還有什么不明白的地方嗎?或者想要了解更多相關,可以繼續關注我們的行業資訊板塊。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。