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

MySQL双写机制

双写机制

问题的出现

在发生数据库宕机时,可能Innodb正在写入某个页到表中,但是这个页只写了一部分,这种情况被称为部分写失效,虽然innodb会先写重做日志,在修改页,但是重做日志中记录的是对页的物理操作,但是如果这个页本身已经发生了损坏,对页进行重做是没有意义的

双写的出现

为了解决这个问题,提出了双写机制

双写原理

双写(doublewrite)由两部分组成,一部分是内存中的doublewrite buffer,大小为2M,另一部分是屋里磁盘上共享表空间中连续的128个页,大小也是2M。再对缓冲池中的脏页进行刷新时,并不直接写磁盘,而是会通过memcpy函数将脏页复制到内存中的doublewrite buffer,之后通过doublewrite buffer再分两次,每次1M顺序地写入共享表空间的物理磁盘上,然后马上调用fync函数,同步磁盘,避免缓冲写带来的问题

-- 查看doublewrite的运行情况
show global status like 'innodb_db%' \G
*************************** 1. row ***************************
Variable_name: Innodb_dblwr_pages_written  双写页数
        Value98848391
*************************** 2. row ***************************
Variable_name: Innodb_dblwr_writes  写入次数
        Value9607931

https://zhhll.icu/2021/数据库/关系型数据库/MySQL/进阶/31.双写机制/

本文由 mdnice 多平台发布

相关文章:

  • 网络原理-TCP/IP(7)
  • 基于MapVGL的地理信息三维度数据增长可视化
  • 网络安全产品之认识蜜罐
  • 第五章:变换矩阵
  • [职场] 会计学专业学什么 #其他#知识分享#职场发展
  • Python访问数据库
  • 【LeetCode: 103. 二叉树的锯齿形层序遍历 + BFS】
  • GPT-4带来的思想火花
  • 开发实体类
  • 28. 找出字符串中第一个匹配项的下标
  • 模型 IPO(输入、处理、输出)学习模型
  • 网络协议与攻击模拟_17HTTPS 协议
  • CTFshow web(文件上传158-161)
  • EXTI外部中断
  • 面试经典150题——螺旋矩阵
  • [deviceone开发]-do_Webview的基本示例
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【css3】浏览器内核及其兼容性
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • Angular 响应式表单之下拉框
  • Docker入门(二) - Dockerfile
  • hadoop集群管理系统搭建规划说明
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • leetcode讲解--894. All Possible Full Binary Trees
  • magento2项目上线注意事项
  • PHP变量
  • SQLServer之索引简介
  • Web Storage相关
  • 从setTimeout-setInterval看JS线程
  • 基于 Babel 的 npm 包最小化设置
  • 基于HAProxy的高性能缓存服务器nuster
  • 排序算法学习笔记
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 设计模式 开闭原则
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 源码安装memcached和php memcache扩展
  • ​ArcGIS Pro 如何批量删除字段
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • (12)Hive调优——count distinct去重优化
  • (6)STL算法之转换
  • (动态规划)5. 最长回文子串 java解决
  • (二)hibernate配置管理
  • (二)丶RabbitMQ的六大核心
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (四) Graphivz 颜色选择
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (一)认识微服务
  • ***监测系统的构建(chkrootkit )
  • ../depcomp: line 571: exec: g++: not found
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET6 开发一个检查某些状态持续多长时间的类