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

MySQL系统架构

一、MySQL架构核心层连接层连接器、认证授权、连接池/线程管理服务层解析器、优化器、执行器决定 SQL 怎么执行存储引擎层InnoDB/MyISAM 等负责数据存取常用 InnoDB事务与并发机制事务、锁、MVCC、隔离级别主要由 InnoDB 实现日志系统redo log、undo log、binlog可靠性恢复复制复制与高可用链路binlog - relay log - 从库回放主从与容灾基础二、MySQL整体架构图1、整体架构图2、InnoDB核心引擎图三、MySQL sql执行流程1、查询的执行流程1客户端发起连接通过连接器完成鉴权、权限校验并分配连接线程。2发送 SQL 到 Server 层例如SELECT * FROM user WHERE id 10;3解析器Parser处理 SQL进行词法分析和语法分析生成语法树。如果 SQL 语法有问题通常在这一阶段报错。4优化器Optimizer生成执行计划决定索引选择、表连接顺序、是否需要回表、是否使用排序或临时表等。EXPLAIN 看到的就是优化器选择的执行计划。5执行器Executor按计划执行执行器基于执行计划调用存储引擎接口读取数据不直接操作磁盘文件。6InnoDB 读取数据先在 Buffer Pool 中查找目标数据页未命中时从磁盘加载数据页到内存若走二级索引可能需要回表到聚簇索引获取完整行数据7事务可见性判断MVCC普通 SELECT 属于快照读会基于 Read View 判断版本可见性。RC每条语句都会创建新的 Read ViewRR事务中第一次快照读创建 Read View后续复用8返回结果给客户端执行器将满足条件的数据按 MySQL 协议返回给客户端。补充1、MySQL 8.0 已移除查询缓存Query Cache。2、普通 SELECT 一般不加锁SELECT ... FOR UPDATE 属于当前读会加锁。2、更新的执行流程1客户端发起连接通过连接器完成鉴权、权限校验并分配连接线程。2发送 UPDATE SQL 到 Server 层例如UPDATE user SET name A WHERE id 10;3解析器Parser处理 SQL进行词法分析、语法分析生成语法树。语法错误通常在这里被发现。4优化器Optimizer生成执行计划决定使用哪个索引、扫描方式、是否回表等。如果 WHERE 条件没命中合适索引可能导致大量扫描和锁冲突。5执行器Executor调用 InnoDB执行器按执行计划调用存储引擎接口开始定位并更新目标行。6InnoDB 定位目标行并加锁当前读UPDATE 属于当前读会读取最新版本并对目标记录加锁通常是行锁必要时出现间隙 锁/next-key lock。7写 Undo Log修改前镜像在真正修改数据前先记录 undo 信息用于事务回滚MVCC 提供旧版本读取8修改 Buffer Pool 中的数据页在内存页中完成数据变更页面变为脏页dirty page。9写 Redo LogWAL记录物理层变更日志保证崩溃恢复能力。核心思想是先写日志再择机刷脏页到磁盘。10写 BinlogServer 层记录这次逻辑变更用于主从复制和归档恢复。11事务提交内部两阶段提交思想典型顺序可理解为redo log 进入 prepare 状态binlog 写入并刷盘redo log 标记 commit用于保证 redo 和 binlog 一致避免主从不一致。四、MySQL日志 RedoLog、UndoLog、 BinLog1、RedoLog(InnoDB执行引擎层)Redo Log 是 InnoDB 的物理重做日志核心作用是保证事务提交后的持久性和宕机恢复能力。InnoDB 采用 WAL 机制先写 Redo Log再异步刷数据页到磁盘所以提交成功不等于数据页已落盘。发生崩溃时数据库会通过重放 Redo Log 恢复已提交但尚未刷盘的数据。在开启 Binlog 时Redo Log 会和 Binlog 通过两阶段提交保证一致性避免主从数据不一致。常见配置上innodb_flush_log_at_trx_commit1 安全性最高性能会相对低一些。2、Undolog(InnoDB执行引擎层)Undo Log 是 InnoDB 的回滚日志核心作用是事务回滚和 MVCC 多版本并发控制。在执行更新前InnoDB 会先记录数据的旧版本到 Undo Log这样事务失败时可以回滚到修改前状态。普通 SELECT 的快照读本质上也是通过 Undo Log 找历史版本实现“读已提交”或“可重复读”的可见性规则。Undo Log 不是用来做崩溃重做的它主要负责“撤销”和“提供旧版本”与 Redo Log 配合完成事务一致性。3、BinLog(Server层)Binlog 是 MySQL Server 层的逻辑日志核心作用是主从复制和数据归档恢复。它记录的是事务对应的逻辑变更内容不属于某个具体存储引擎因此可用于跨引擎复制。事务提交时会先写 Binlog再与 InnoDB 的 Redo Log 通过两阶段提交保证一致性避免主从数据不一致。生产环境中sync_binlog1 安全性最高但性能开销更大取更大值可提升性能但会增加宕机丢日志风险。技术人也爱好文学请关注

相关文章:

MySQL系统架构

一、MySQL架构核心层连接层:连接器、认证授权、连接池/线程管理服务层:解析器、优化器、执行器(决定 SQL 怎么执行)存储引擎层:InnoDB/MyISAM 等,负责数据存取(常用 InnoDB)事务与并…...

课堂教室学生行为识别分割数据集labelme格式1420张4类别

注意数据集中有增强图片主要是亮度对比度增强,此外图片并不是十分清晰,具体看图片数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数):1420标注数量(json文件个数)&#x…...

制造业数据架构设计顶层规划方案:数据资源规划、基础数据管理、数据分析应用、数据治理体系 、实施路线图

该方案针对企业数据架构空白、缺乏统一模型与治理体系的问题,提出了以数据资源规划、主数据与元数据管理、数据分析应用及数据治理为核心的整体架构。通过明确数据分布与流向、构建企业级数据仓库与治理平台,最终实现数据驱动决策与业务规范化&#xff0…...

21 鸿蒙LiteOS软件定时器实战:多定时器周期性任务完整示例(源码+解析)

鸿蒙LiteOS软件定时器实战:多定时器周期性任务完整示例(源码解析) 一、前言 在嵌入式鸿蒙(OpenHarmony LiteOS)开发中,软件定时器是实现周期性任务、延时任务、定时触发逻辑的核心内核工具,无…...

3步解锁QQ音乐格式限制:qmcflac2mp3让你的音乐随处可听

3步解锁QQ音乐格式限制:qmcflac2mp3让你的音乐随处可听 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 你是否曾经遇到过这样的烦恼:从…...

ElevenLabs缅甸文语音准确率仅68.3%?实测对比5种预处理方案,第4种提升至92.7%(附Jupyter验证代码)

更多请点击: https://kaifayun.com 第一章:ElevenLabs缅甸文语音准确率实测基准与问题定位 为系统评估 ElevenLabs 对缅甸文(Burmese, my-MM)语音合成的准确性,我们在统一硬件环境(Intel i7-11800H 32GB …...

马来文语音合成效果差?3步诊断法+5个权威音素校准参数,立竿见影提升自然度与语调准确率

更多请点击: https://codechina.net 第一章:马来文语音合成效果差?3步诊断法5个权威音素校准参数,立竿见影提升自然度与语调准确率 马来文(Bahasa Melayu)语音合成常因音素切分模糊、重音规则缺失及语调建…...

5分钟上手:用VMagicMirror打造你的虚拟形象分身

5分钟上手:用VMagicMirror打造你的虚拟形象分身 【免费下载链接】VMagicMirror VRM Software for Windows to move avatar with minimal devices. 项目地址: https://gitcode.com/gh_mirrors/vm/VMagicMirror VMagicMirror是一款专为Windows设计的开源虚拟角…...

10分钟搞定黑苹果:OpCore-Simplify自动化配置工具完全指南

10分钟搞定黑苹果:OpCore-Simplify自动化配置工具完全指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗…...

开源数字微流控平台OpenDrop:3步打造你的微型生物实验室

开源数字微流控平台OpenDrop:3步打造你的微型生物实验室 【免费下载链接】OpenDrop Open Source Digital Microfluidics Bio Lab 项目地址: https://gitcode.com/gh_mirrors/ope/OpenDrop 你是否曾梦想在桌面上建立一个完整的生物实验室?OpenDrop…...

5分钟搞定:Buzz音频转录软件常见问题快速解决指南 [特殊字符]

5分钟搞定:Buzz音频转录软件常见问题快速解决指南 🎯 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz …...

G-Helper终极指南:释放华硕笔记本潜能的免费开源神器

G-Helper终极指南:释放华硕笔记本潜能的免费开源神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exp…...

5分钟搞定:用WinDiskWriter在Mac上制作Windows启动盘,轻松绕过TPM限制

5分钟搞定:用WinDiskWriter在Mac上制作Windows启动盘,轻松绕过TPM限制 【免费下载链接】windiskwriter 🖥 Windows Bootable USB creator for macOS. 🛠 Patches Windows 11 to bypass TPM and Secure Boot requirements. &#x…...

基于STM32的直流电机串级PID伺服控制系统设计与实现

摘要:本文设计并实现了一套基于STM32F103C8T6微控制器的直流电机串级PID伺服控制系统。该系统采用TB6612FNG驱动芯片控制带霍尔编码器的直流减速电机,通过位置-速度双闭环串级控制架构,实现了对电机位置和速度的高精度、快速响应控制。项目简…...

LiveSplit终极指南:速度跑者的专业计时解决方案

LiveSplit终极指南:速度跑者的专业计时解决方案 【免费下载链接】LiveSplit A sleek, highly customizable timer for speedrunners. 项目地址: https://gitcode.com/gh_mirrors/li/LiveSplit LiveSplit是一款专为速度跑者设计的专业计时软件,通过…...

盒子不同定位的解说!

目录 一、相对定位 二、绝对定位 三、固定定位 一、相对定位 【概念】:简单来说,就是让一个元素相对于它自己原本应该在的位置进行移动。 【核心特点】:1.不脱离文档流:这是相对定位最关键的特点。元素虽然移动了&#xff0c…...

HarmonyOS APP<<古今职鉴定>>开源教程第20篇:农历日期与节日计算

本篇学习农历算法,实现年俗内容的日期驱动图:农历日期与节日计算 的关键流程与实现要点。 学习目标 完成本篇后,你将能够: ✅ 理解农历算法原理✅ 实现公历转农历✅ 计算传统节日✅ 实现年俗日期匹配 预计学习时间 约 90 分钟…...

5步彻底解决显卡驱动问题:Display Driver Uninstaller完整指南

5步彻底解决显卡驱动问题:Display Driver Uninstaller完整指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-unin…...

如何快速掌握LuaJIT字节码还原:面向开发者的完整指南

如何快速掌握LuaJIT字节码还原:面向开发者的完整指南 【免费下载链接】luajit-decompiler https://gitlab.com/znixian/luajit-decompiler 项目地址: https://gitcode.com/gh_mirrors/lu/luajit-decompiler LuaJIT反编译器(LuaJIT Raw-Bytecode D…...

MapTRV2 部署训练与测试(踩坑版本)

1. 背景 目录 1. 背景 1.1 结果 1.1.1 过程截图 存在的坑 安装环境 踩坑记录 过程记录 requirements.txt 设置调试的launch.json数据 合成视频脚本 跑通了MapTRV1 ,想继续跑通MapTRV2,安装运行的时候都存在问题,先从网上找了一些相关的教程,发现教程需要收费,作为白嫖党怎…...

ElevenLabs希腊文语音合成精度提升87%:基于ISO 639-2标准的音素对齐校准全流程详解

更多请点击: https://kaifayun.com 第一章:ElevenLabs希腊文语音合成精度提升87%的工程意义与语言学背景 ElevenLabs在2024年Q2发布的v3.2语音模型中,针对现代希腊语(el-GR)的语音合成MOS(Mean Opinion S…...

【仅剩最后47份】盐印相风格训练数据集泄露报告(含原始Agfa APX 400扫描底片参数+Midjourney反向蒸馏权重)

更多请点击: https://codechina.net 第一章:盐印相风格的视觉基因与数字重生 盐印相(Salted Paper Print)作为19世纪早期摄影术的奠基性工艺,其独特颗粒质感、柔和影调过渡与温润泛黄基底,构成了不可复制的…...

Adobe-GenP 3.0:三步解锁Adobe全家桶的终极破解指南

Adobe-GenP 3.0:三步解锁Adobe全家桶的终极破解指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe Creative Cloud的订阅费用让许多设计师望而却…...

5分钟掌握GoReleaser:自动化发布Go项目的终极指南 [特殊字符]

5分钟掌握GoReleaser:自动化发布Go项目的终极指南 🚀 【免费下载链接】goreleaser Release engineering, simplified 项目地址: https://gitcode.com/gh_mirrors/go/goreleaser 还在为每次发布Go项目而烦恼吗?手动构建二进制文件、打包…...

Ladybug天气数据分析工具:建筑环境设计的智能助手

Ladybug天气数据分析工具:建筑环境设计的智能助手 【免费下载链接】ladybug 🐞 Core ladybug library for weather data analysis and visualization 项目地址: https://gitcode.com/gh_mirrors/lad/ladybug Ladybug是一个功能强大的Python天气数…...

vscode使用claude code接入deepseek教程

1 在VSCode拓展商城中搜索Claude Code for VS Code,安装2 快捷键Ctrl“,”,进入设置,选择拓展,选择Claude Code。接着往下拉找到Environment Variables,点击下方的“在settings.json中编辑”,将…...

终极指南:在Debian/Ubuntu系统上快速配置DisplayLink多屏扩展驱动

终极指南:在Debian/Ubuntu系统上快速配置DisplayLink多屏扩展驱动 【免费下载链接】displaylink-debian DisplayLink driver installer for Debian and Ubuntu based Linux distributions. 项目地址: https://gitcode.com/gh_mirrors/di/displaylink-debian …...

Qt 高级开发 009: C++ Lambda 表达式

Qt 高级开发 009: C Lambda 表达式Bilibili 同步视频🔎 一、Lambda 表达式:到底是什么?🧩 二、Lambda 完整结构:六大核心组件1. 捕获列表 [ ] 🎫2. 参数列表 ( ) 📥3. mutable 关键字…...

KMS_VL_ALL_AIO:一键激活Windows与Office的完整解决方案

KMS_VL_ALL_AIO:一键激活Windows与Office的完整解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾经为Windows或Office的激活问题而烦恼?每次重装系统后都…...

利用Taotoken CLI工具一键配置团队开发环境中的大模型调用参数

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken CLI工具一键配置团队开发环境中的大模型调用参数 在团队开发环境中,统一管理大模型调用参数是一个常见痛…...