首页 > 数据库 >MySQL 日志系统

MySQL 日志系统

时间:2024-10-13 17:32:18浏览次数:6  
标签:语句 binlog log 写入 系统 MySQL 日志 redo

MySQL 日志系统:一条SQL更新语句是如何执行的

  • WAL:先写日志,再写磁盘(顺序写代替随机写,提高性能)
  • 两阶段提交:保证 redo log 和 binlog 一致性

MySQL 三种日志

SQL更新语句和SQL查询语句一样要经过各功能模块的处理,区别是更新语句设计写日志(binlog、redo log、undo log)。

  • binlog 记录执行的 SQL语句(逻辑日志/归档日志,追加写入),属于 Server 层,用于数据恢复、主从同步
  • redo log:记录数据页修改信息(物理日志,环型循环写入),属于 InnoDB,主要用户奔溃恢复
  • undo log:记录行的修改,属于 Server 层,用于回滚和多版本控制(事务隔离性,读已提交、可重复读)

更新语句执行过程

更新语句执行过程(两阶段提交、WAL Write-Ahead logging 技术)

  • 执行器通过调用存储引擎接口拿到行数据,进行更新
  • 存储引擎修改内存页,写入 redo log(随机写入变成顺序写入), redo log 处于 prepare 状态
  • 执行器写入 binlog,调用存储引擎提交事务,redo log 处于 commit 状态

binlog 恢复数据

  • 获取凌晨0点时的整库备份,恢复到临时库
  • 获取今天到 binlog,恢复到临时库(跳过误操作)
  • 将临时库恢复到线上

两阶段提交

两阶段提交保证 binlog 和 redo log 的一致性。即保证原库奔溃恢复(redo log)和从库/备份库(binlog)数据一致性。

双 1 配置

  • redo log 的 innodb_flush_log_at_trx_commit 设置成 1,表示每次写 redo log 都将 redo log 持久化到磁盘
  • binlog 的 sync_binlog 设置成 1,表示每次写 binlog 都将 binlog 持久化到磁盘

标签:语句,binlog,log,写入,系统,MySQL,日志,redo
From: https://www.cnblogs.com/liaozibo/p/18462641

相关文章

  • day11-特殊文件、日志技术、多线程
    day11-特殊文件、日志技术、多线程一、属性文件1.1特殊文件概述同学们,前面我们学习了IO流,我们知道IO流是用来读、写文件中的数据。但是我们接触到的文件都是普通的文本文件,普通的文本文件里面的数据是没有任何格式规范的,用户可以随意编写,如下图所示。像这种普通的文本文件,没......
  • 一文了解 Linux 系统的文件权限管理
    文章目录引入Linux文件权限模型查看文件权限权限信息解析修改文件权限符号模式八进制数字模式引入在Linux操作系统中,我们想查看我们对文件拥有哪些权限时,可以在终端键入ls-l或ll命令,终端会输出当前路径下的文件信息,如文件名称、权限信息、文件所有者和所属组等信息......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
      01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • MySQL 基础架构
    MySQL基础架构:一条SQL查询语句如何执行连接器(管理连接、权限验证)查询缓存(5.7不推荐使用,8.0完全废弃)解析器(解析树)优化器(索引选择、表关联顺序、执行计划)执行器(调用存储引擎接口)执行引擎(InnoDB、MyISAM、Memory)MySQL分成Server层和存储引擎层两部分。连接器mysql-h<ip......
  • Linux系统:初识
     Linux系统中的小知识点        1.文件大小不等于文件内容大小         这一点在windows系统中也一样如图所示上面的大小仅仅表示该文档内容的大小而并非该为件的大小。文件还包括时间,位置,大小等的属性文件=文件内容+文件属性 ......
  • 【附源码】个人博客系统(源码+数据库+毕业论文齐全)java开发springboot框架vue javawe
    ......
  • Springboot海鲜配送管理系统q3m5u(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,司机,仓管员,车辆信息,海鲜种类,热卖海鲜,订单信息,配送信息开题报告内容一、研究背景随着人们生活水平的提高和消费观念的转变,海鲜产品因其营养丰富、口......
  • Springboot广东实时新闻系统4b1u7(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,记者,社交论坛,社交分享,新闻推送,新闻分类开题报告内容一、题目背景和意义随着信息技术的飞速发展,新闻传播方式发生了巨大变革。广东作为中国经济最活跃......
  • 给C盘瘦身!十种Windows系统盘清理方法请牢记
    对于很多小白用户来说,在使用Windows电脑的时候,C盘“爆红”可能是最常见的问题了吧?那么有哪些方法可以避免C盘存储空间紧张呢?今天给大家提供十种不同的方法,大家可以根据自己的实际情况酌情取用。方法一:清理桌面清理桌面这个方法看起来是废话,但我发现是真的有很多电脑小白不知道,电......
  • 基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet模型【pytorch框架+python】
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的脊柱骨折识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据......