MySQL 在写 BinLog 文件时,会按照怎么样的规则进行写操作?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MySQL 在写 BinLog 文件时,会按照怎么样的规则进行写操作?

来自:开发者社区官方技术圈 2022-01-13 15:34:08 195 1

MySQL 在写 BinLog 文件时,会按照怎么样的规则进行写操作?

取消 提交回答
全部回答(1)
  • 胡嘞嘞
    2022-01-13 18:06:14

    MySQL 在写BinLog文件时,会按照如下规则进行写操作:

    1) 根据记录的模式 ( Row 、Statement 和 Mixed ) 和操作 ( create 、drop 、alter 、in sert、update 等)触发事件生成日志事件(事件触发执行机制)。

    2) 将事务执行过程中产生的 日志事件写入相应的缓 冲区。注意, 这里是每个事务线程都有一个缓冲区。日志事件保存在数据结构 bin log_cache_mngr 中, 这个数据结构中有两个缓冲区 : 一个是 stmt—cache , 用于存放不支持事务的信息; 另一个是 trx—cache , 用于存放支持事务的信息。

    3) 事务在 Commit 阶段会将产生的日志事件写入磁盘的 BinLog 文件中。因为不同的事务会以串行的方式将 日志事件写入 BinLog 文件中, 所以一个事务中包含的日志事件信息在 BinLog 文件中是连续的 ,中间不会插入其他事务的B志事件。

    资料来源:《深入理解分布式事务:原理与实战》,下载链接为:https://developer.aliyun.com/topic/download?id=8201。

    0 0
相关问答

1

回答

【RDS】RDS MySQL如何终止会话?

2022-01-12 16:17:02 450浏览量 回答数 1

1

回答

RDS MySQL如何终止会话?

2022-01-07 14:15:23 876浏览量 回答数 1

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL 从传输流收到意外的 EOF或0个字节

2018-09-28 22:31:04 3487浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS MySQL 收集表的统计数据

2018-09-28 22:34:39 1773浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS MySQL实例重启后表不能访问

2018-09-28 22:39:35 1635浏览量 回答数 0

1

回答

mysql rds通过主键更新数据,执行计划为什么走的是range方式

2018-09-27 21:10:13 3604浏览量 回答数 1

1

回答

RDS mysql binlog 模式是什么?

2018-09-28 11:24:56 457浏览量 回答数 1

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL 实例 show slave hosts 结果说明

2018-09-26 23:29:03 1969浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL 连接数满情况的处理

2018-09-26 23:36:07 2018浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL CPU使用率高情况的原因和解决

2018-09-26 23:38:27 1664浏览量 回答数 0
0
文章
1398
问答
来源圈子
更多
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
+ 订阅
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载