MySQL二进制日志

每当事务提交,例如autocommit模式下单条语句提交,或者普通模式下MySQL收到commit语句,MySQL将按如下步骤进行:

先把整个事务写入binary log,

而后才将事务提交到InnoDB。

注:写binary log不是写磁盘,将binary log写磁盘由系统变量sync_binlog决定。具体来说,即每向binary log写入sync_binlog次,即刷写一次磁盘。


二进制日志缓存

binary log cache

存在:每条连接各一个,大小由系统变量binlog_cache_size决定。

作用:一个事务做出的修改,当小于binlog_cache_size时,所有修改内容存入binary log cache;当大于binlog_cache_size时,内容存入磁盘临时表。

关联:


二进制日志工作过程:

对非事务性表的修改,在语句执行结束后,即写入binary log。

在事务内部,对InnoDB表的所有修改,如insert、delete、update,存入binary log cache,

原文地址:https://www.cnblogs.com/chaikefusibushiji/p/7475587.html