MySQL的三大日志redolog,binlog,undolog

news/2025/10/22 14:49:09/文章来源:https://www.cnblogs.com/freedomlog/p/19157977

MySQL 的三大核心日志:redolog(重做日志)binlog(二进制日志)undolog(回滚日志),以及它们在事务处理和数据恢复中的作用。以下是要点汇总:


🧱 redo log(重做日志)

  • 属于 InnoDB 存储引擎,用于崩溃恢复,确保数据的持久性
  • 数据修改会先记录到 redo log buffer,再根据策略刷盘到磁盘。
  • 刷盘时机包括:
    • 事务提交
    • log buffer 空间不足
    • 检查点(Checkpoint)
    • 后台线程周期性刷新
    • 正常关闭服务器
  • 参数 innodb_flush_log_at_trx_commit 控制刷盘策略:
    • 0:性能高但不安全,可能丢失最近 1 秒数据
    • 1:最安全,事务提交即刷盘(默认值)
    • 2:写入文件系统缓存,性能与安全性折中
  • 日志文件组采用环形数组结构,由多个固定大小文件组成,MySQL 8.0.30 起使用 innodb_redo_log_capacity 统一配置。

📦 binlog(二进制日志)

  • 属于 MySQL Server 层,用于数据同步、主从复制、备份恢复
  • 逻辑日志,记录 SQL 原始语句或数据变更。
  • 三种格式:
    • statement:记录 SQL 原文,可能导致同步不一致
    • row:记录具体数据变更,可靠性高但占空间
    • mixed:自动选择格式,兼顾性能与一致性
  • 写入机制:
    • 事务执行时写入 binlog cache,提交时写入 binlog 文件
    • 参数 sync_binlog 控制刷盘频率,默认值为 1

🔁 两阶段提交机制

  • 为了保证 redo log 与 binlog 的一致性,采用两阶段提交:
    • 第一步:写入 redo log 的 prepare 阶段
    • 第二步:写入 binlog 后,再提交 redo log 的 commit 阶段
  • 若 binlog 写入失败,事务会回滚;若 redo log commit 失败但 binlog存在,事务仍可恢复。

🔙 undo log(回滚日志)

  • 用于事务回滚和 MVCC(多版本并发控制),确保事务的原子性
  • 逻辑日志,记录反向操作(如 DELETE 对应 INSERT)。
  • undo log 也会被 redo log 持久化保护。
  • 事务提交后,部分 undo log 会被清理,未清理的加入 history list,由后台线程 purge。
  • undo log 以 segment(段)形式组织,便于并发管理。

📌 总结

  • redo log 保证持久性,undo log 保证原子性,binlog 保证数据一致性与同步。
  • 三者配合构成 MySQL 事务的完整日志体系,是高性能、高可靠数据库的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943367.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卸载 macOS 上所有版本的 Python

卸载 macOS 上所有版本的 Python卸载 macOS 上所有版本的 Python 彻底卸载 macOS 上所有版本的 Python(包括系统自带的、Homebrew 安装的、手动安装的等)。 ⚠️ 注意:macOS 自带的 Python 2.x 或 3.x 系统依赖它,…

如何解除百度网盘下载限速

如何解除百度网盘下载限速如何解除百度网盘下载限速?今天就教一下大家最新的方法。这个方法下载速度绝对能惊艳你。下面就让你看看我测试的速度把这个速度怎么样?还不错把。下面我就教一下大家打开我说的方法你会看到…

分布式专题——33 一台新机器进行Web页面请求的历程 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

开源隐私计算框架SecretFlow | 基于隐语的金融全链路场景介绍和应用实践

打开链接点亮社区Star,照亮技术的前进之路。每一个点赞,都是社区技术大佬前进的动力Github 地址: https://github.com/secretflow本文根据蚂蚁集团隐私计算产品专家 陈步华,在「隐语城市行成都站 X 蓉数大讲堂」的…

2025 最新智能卫浴镜厂家推荐榜单:家装酒店工装优选,除雾语音多功能品牌权威盘点多功能/语音/蓝牙/led/带灯智能卫浴镜厂家推荐

在智能家居渗透率持续攀升的当下,智能卫浴镜已成为家装、酒店及工装场景的品质之选,其融合的除雾、照明、语音交互等功能极大提升了使用体验。但市场涌入大量品牌后,劣质产品频现 —— 部分产品采用普通银镜导致短期…

win11暂停更新

参考链接:https://zhuanlan.zhihu.com/p/1959940583482172602

2025 年陶土砖生产厂家最新推荐权威榜单:劈开/红色/干挂/砌筑/仿古/透气/耐火/异型/装饰/外墙陶土砖产品及生产流程优势全面解读

引言 在当前陶土砖市场中,产品质量良莠不齐、同质化竞争激烈、环保要求趋严等问题愈发凸显,给建筑行业采购者挑选可靠厂家带来极大困扰。部分厂家为压缩成本简化生产流程,导致产品性能不达标,严重影响建筑质量与使…

redis 5.0.14单机部署

环境:OS:Centos 7redis:5.0.14问题1:You need tcl 8.5 or newer in order to run the Redis testrpm -qa | grep tcl解决办法:yum install tcl问题2: make test 报错误!!! WARNING The following tests failed:*** [e…

视频汇聚平台EasyCVR在智慧工地无网线无电线监控现场视频解决方案

智慧工地的复杂环境(如临时施工区域、高空作业点、偏远户外场地)往往存在布线难度大、电力接入不便等问题,无网线无电线的无线监控方案通过"无线传输+新能源供电+智能终端"的核心架构,可实现监控系统的快…

Spring进阶 - SpringMVC达成原理(二)DispatcherServlet处理请求的过程

Spring进阶 - SpringMVC达成原理(二)DispatcherServlet处理请求的过程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

2025多校冲刺CSP模拟赛7

2025多校冲刺CSP模拟赛7 不是你怎么还有加赛?ys A. gcd&xor (gcdxor) 转化为外层枚举 \(\gcd\),内层枚举 \(i,j\),打表即可。可以发现规律,是调和级数做法,时间复杂度大约 \(O(1.5 \times 10^8)\)。 Code: #…

视频汇聚平台EasyCVR级联播放偶发失败排查:TCP主动模式下的3秒超时响应差

在视频监控平台的级联场景中,“有时能播、有时不能播”的偶发问题往往比必现问题更难排查。最近我们收到用户反馈:EasyCVR作为上级平台,请求播放下级级联的同一路视频时,出现间歇性播放失败的情况——同一通道有时…

redis 5.0单机部署

环境:OS:Centos 7redis:5.0.14问题1:You need tcl 8.5 or newer in order to run the Redis testrpm -qa | grep tcl解决办法:yum install tcl问题2: make test 报错误!!! WARNING The following tests failed:*** [e…

企业微信ipad协议,标准化接口服务解决方案

企业微信ipad协议,标准化接口服务解决方案企业微信 iPad 协议是一种基于企业微信 iPad 版本的智能接口服务解决方案,通过逆向工程技术将 iPad 客户端的私有二进制接口转化为可编程的API通信协议接口,模拟 iPad 客户端…

2025年DevOps平台全景观察:本土化与全球化双轨并行下的企业选择

2025年DevOps平台全景观察:本土化与全球化双轨并行下的企业选择 数字化转型浪潮席卷全球,企业研发效能提升已成为核心竞争力。在这样的大背景下,DevOps平台作为连接开发与运维的关键纽带,正经历着前所未有的变革与…

Python实现基于SAO-Transformer-LSTM雪消融优化算法(SAO)优化Transformer-LSTM组合模型进行多变量回归预测的详细项目实例 - 详解

Python实现基于SAO-Transformer-LSTM雪消融优化算法(SAO)优化Transformer-LSTM组合模型进行多变量回归预测的详细项目实例 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: au…

2025 年最新推荐!国内污水处理设备优质厂家排行榜,助力企业精准选优质设备

当前,环保政策日趋严格,污水处理需求持续攀升,但市场上污水处理设备厂家良莠不齐,部分厂家技术落后、设备效率低,难以满足企业达标排放需求,还可能因售后缺失导致设备故障后无法及时运维,给企业带来经济损失与环…

2025年模内注塑标杆厂家:腾达鑫电子,IML|IMD|IMR|IMP 定制新标准

在 3C 电子、家电行业外观装饰技术迭代升级的 2025 年,深圳市腾达鑫电子科技有限公司凭借对模内注塑全工艺赛道的深耕布局与技术突破,成为众多知名企业供应链中的 “优选合作伙伴”。自成立以来,公司始终以 “技术赋…

zlog3

用户消费行为数据分析 需求分析 1、数据收集 收集大量的用户消费数据。 2、数据清洗与预处理 收集到的数据可能存在错误、缺失或重复项,需要进行数据清洗和预处理,确保数据的准确性和完整性,使其适合后续的工作。 3…

信息熵的特征选择算法MATLAB实现

信息熵的特征选择算法MATLAB实现。信息熵是衡量特征重要性的强大工具,特别适用于高维数据降维。 1. 信息熵理论基础 1.1 基本概念 信息熵定义: H(X) = -Σ P(x_i) log₂ P(x_i)条件熵: H(Y|X) = -Σ P(x_i) Σ P(y_…