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

Mysql——如何做到Redolog崩溃后恢复的

目录

    • 一、MySQL引擎层BufferPool工作过程原理
    • 二、Mysql如何做到Redolog崩溃后恢复的(即mysql是如何保证数据不丢失)
      • 2.1、提交事务时正好mysql直接挂掉,更新的数据是否就丢失
      • 2.2、Mysql如何做到Redolog崩溃后恢复的(即mysql是如何保证数据不丢失)
      • 2.3、为什么把修改的数据存放到RedoLog中而不是直接写到磁盘文件?
      • 2.4、indodb_flush_log_at_trx_commit提供的3种刷盘策略

一、MySQL引擎层BufferPool工作过程原理

  • 首先关闭自动提交,执行一条修改语句。

    SET AUTOCOMMIT =0;
    update employees set name='张三' where id=1:
    
  • 客户端连接mysql服务层,再由服务层的执行器去调用innoDB引擎,首先会去innoDB引擎的BufferPool中查看id=1的数据有没有在BufferPool中进行缓存,

  • 如果有,则直接更新BufferPool中的缓存,

  • 如果没有,则去磁盘.idb文件中去加载id=1的数据,根据索引找到id=1的数据页,找到数据页后,把整个数据页缓存在BufferPool中,从而针对id=1的数据进行修改。把修改之前的数据存放到Undolog中来进行备份,为后续的数据回滚、事务隔离相关的操作。

http://www.lryc.cn/news/620102.html

相关文章:

  • NLP学习之Transformer(1)
  • 算法题——哈希表
  • 洛谷 P2607 [ZJOI2008] 骑士-提高+/省选-
  • 从 Web 开发到数据科学:全栈基础技术总结
  • nm命令和nm -D命令参数
  • 互联网大厂Java求职面试实录:Spring Boot到微服务与AI的技术问答
  • 《量子雷达》第2章 从量子信息到量子雷达 预习2025.8.13
  • Canal解析MySQL Binlog原理与应用
  • RC4算法实现
  • 一键自动化:Kickstart无人值守安装指南
  • 如何优雅地实现API接口每 10秒轮询请求?
  • 力扣面试150题--三角形最小路径和 最小路径和 不同路径 最长回文子串
  • RagFlow启动源码说明
  • 前后端分离项目在云服务器的部署
  • 【系统安装】虚拟机中安装win10企业版系统记录
  • CSS保持元素宽高比,固定元素宽高比
  • 用 mock 把 ES 单元测试@elastic/elasticsearch-mock 上手
  • Python 环境隔离实战:venv、virtualenv 与 conda 的差异与最佳实践
  • 变分自编码器VAE的Pytorch实现
  • day39_2025-08-13
  • Go 微服务限流与熔断最佳实践:滑动窗口、令牌桶与自适应阈值
  • Day19 C 语言标准 IO 机制
  • React useMemo 深度指南:原理、误区、实战与 2025 最佳实践
  • React常见的Hooks
  • 万字详解C++11列表初始化与移动语义
  • OpenCV的实际应用
  • 类和对象----中
  • 【COMSOL】Comsol学习案例时的心得记录分享
  • Mysql数据库迁移到GaussDB注意事项
  • pycharm配置连接服务器