当前位置: 首页 > wzjs >正文

高端网站建设 企业网站建站网络广告设计

高端网站建设 企业网站建站,网络广告设计,重庆市造价工程信息网官网,360网站制作问题: 假如库名叫做A库,表名叫B表,undo log,redo log和bin log,这些日志文件的生成的时间点是什么?是在mysql的哪一层生成的?哪些文件是有buffer的?哪些日志文件是存在磁盘上的?哪些…

问题:

假如库名叫做A库,表名叫B表,undo log,redo log和bin log,这些日志文件的生成的时间点是什么?是在mysql的哪一层生成的?哪些文件是有buffer的?哪些日志文件是存在磁盘上的?哪些存在内存中?另外如果有buffer,那这个buffer什么时候刷盘的,他会一直存在还是什么时候会被清除掉?如果存在磁盘上,那么它的名字叫什么?如果存在磁盘上,那他是会一直存在还是说什么时候会被清除掉?

答案:

涉及库名 A 和表名 B 的日志行为与全局日志机制一致,日志本身不按库表独立存储

MySQL 日志文件的生成时间点、层级归属、存储位置及生命周期详解

1. Undo Log

生成时间点:

存储位置

文件名/结构

生命周期

内存

Undo Log Buffer

事务执行期间暂存 Undo Log 条目,提交后可能保留(支持 MVCC)

磁盘

undo_001、undo_002(独立 Undo Tablespace,MySQL 8.0+ 默认)或 ibdata1(系统表空间,旧版本)

- 通过 Redo Log 间接保护持久性。

- 事务提交后,Undo Log 段可能被回收(若不被 MVCC 或长事务依赖)。

  • 事务修改数据时:执行 INSERT/UPDATE/DELETE 前生成,用于事务回滚和 MVCC。

  • 层级归属:存储引擎层(InnoDB)。

    存储与生命周期:
Buffer 刷盘时机:
  • 间接刷盘:Undo Log 的修改会先写入 Redo Log Buffer,事务提交时根据 innodb_flush_log_at_trx_commit 决定 Redo Log 刷盘,从而间接保证 Undo Log 的持久性。

  • 清理机制:后台 Purge 线程异步清理不再需要的 Undo Log。

2. Redo Log

生成时间点:

存储位置

文件名/结构

生命周期

内存

Redo Log Buffer

事务执行期间暂存 Redo Log 条目,提交时根据配置刷盘。

磁盘

ib_logfile0、ib_logfile1(默认文件名)

- 循环写入,日志空间重复利用。

- Checkpoint 推进后,旧日志可被覆盖。

  • 数据页修改时:每次数据页变更(如 UPDATE)生成物理日志,确保崩溃恢复。

  • 层级归属:存储引擎层(InnoDB)。

    存储与生命周期:
Buffer 刷盘时机:
  • 事务提交时:若 innodb_flush_log_at_trx_commit=1,提交时同步刷盘。

  • 每秒异步刷盘:若 innodb_flush_log_at_trx_commit=0/2,由后台线程每秒刷盘。

  • Buffer 清理:刷盘后 Redo Log Buffer 空间可复用。

3. Bin Log

生成时间点:

存储位置

文件名/结构

生命周期

内存

Binlog Cache(每个线程独立)

事务执行期间暂存 Binlog 条目,提交时根据配置刷盘。

磁盘

mysql-bin.000001(默认前缀)

- 按顺序写入,文件大小达 max_binlog_size 后切换新文件。

- 根据 expire_logs_days 自动清理过期文件。

  • 事务提交时:记录逻辑操作(如 SQL 语句或行变更),用于主从复制和逻辑恢复。

  • 层级归属:服务层(Server Layer)。

    存储与生命周期:
Buffer 刷盘时机:
  • 事务提交时:若 sync_binlog=1,提交时同步刷盘。

  • 依赖 OS 刷盘:若 sync_binlog=0,由操作系统决定刷盘时机。

  • Buffer 清理:事务提交后 Binlog Cache 立即释放。

4. 日志文件总结

日志类型

生成时间点

生成层级

内存 Buffer

磁盘文件

Buffer 刷盘时机

磁盘文件清理机制

Undo Log

事务修改数据时

存储引擎层(InnoDB)

Undo Log Buffer

undo_001 或 ibdata1

随 Redo Log 刷盘间接持久化

Purge 线程清理(无长事务阻塞)

Redo Log

数据页修改时

存储引擎层(InnoDB)

Redo Log Buffer

ib_logfile0、ib_logfile1

提交时或每秒刷盘(依赖配置)

Checkpoint 推进后循环覆盖

Bin Log

事务提交时

服务层

Binlog Cache

mysql-bin.000001 等

提交时或依赖 OS(依赖配置)

按 expire_logs_days 自动清理过期文件

5. 注意事项(可能存在版本差异)

  1. Undo Log 存储位置:

    • MySQL 8.0+ 默认使用独立 Undo Tablespace(undo_001),旧版本可能存储在 ibdata1。

  2. Bin Log 格式:

    • 支持 Statement、Row、Mixed 格式,文件名固定前缀为 mysql-bin。

  3. Redo Log 文件大小:

    • 由 innodb_log_file_size 和 innodb_log_files_in_group 控制,默认 2 个文件循环使用。

6. 总结

  • Undo Log:事务修改时生成,存储引擎层管理,内存缓冲后通过 Redo Log 间接持久化,磁盘文件可独立或共享。

  • Redo Log:数据变更时生成,存储引擎层管理,内存缓冲后按配置刷盘,磁盘文件循环覆盖。

  • Bin Log:事务提交时生成,服务层管理,内存缓冲后按配置刷盘,磁盘文件按时间或大小清理。

建议配置:

  • 高安全场景:innodb_flush_log_at_trx_commit=1 + sync_binlog=1。

  • 高性能场景:innodb_flush_log_at_trx_commit=2 + sync_binlog=0(需容忍少量数据丢失风险)。

http://www.dtcms.com/wzjs/548663.html

相关文章:

  • 下载网站 源码里水网站开发
  • 阳泉哪里做网站做网站网站代理怎么找客源
  • 建网站 南京成都seo公司排名
  • 网页设计如何建立网站网站规划的步骤
  • 网站制作 杭州鹰潭手机网站建设
  • 建立公司网站时什么是重要的it软件外包
  • 网站自助建设平台百度长沙最新确诊病例
  • 哪个地区网站建设好wordpress导入主题
  • 网上做环评立项的网站是哪个营销策划方案设计的技巧
  • 2018年网站建设工作总结商丘网站建设推广公司地址
  • 关于做情侣的网站的图片大全沈阳企业网站开发
  • 厦门哪里有教网站建设开福区网站建设论坛
  • 相亲网站做推广的照片是谁陕西交通建设集团西镇分公司网站
  • 没有网站可以做cpc吗店铺logo图片免费生成软件
  • 绥化做网站做网站和微信公众号如何招生
  • 网站改版提交 百度网站建设情况检查报告
  • 卫龙模仿iphone做网站上海服装网站建设
  • asp网站 没有数据库 管理员密码什么叫网站名称
  • 基于lamp网站建设实例个人网站建设平台
  • 汕头网页设计网站方案建站系统和构建系统
  • 纯前端网站怎么做rest建设银行河北招聘网站
  • 做网站的客户需求报告答案做环保网站案例
  • 建网站有什么要注意的怀化买房网站
  • seo网站诊断流程广西建设工程协会网站
  • 做水果网站特点分析河南县网站建设公司
  • WordPress部署商城优化网站制作公司好吗
  • 网站内容栏目北京网站建设有哪些公司
  • 做海淘的网站wordpress手机后台版
  • 赣州哪里可以做网站外贸推广平台哪个好
  • 帝国网站采集管理怎么做肇庆网站制作