MySQL二进制日志

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

先把整个事务写入binary log,spa

然后才将事务提交到InnoDB。日志

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


二进制日志缓存it

binary log cache变量

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

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

关联:co


二进制日志工做过程:磁盘

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

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

相关文章
相关标签/搜索