首页 > 数据库 >MySQL整体架构简介

MySQL整体架构简介

时间:2023-09-06 17:34:28浏览次数:30  
标签:存储 架构 简介 MySQL 连接数 引擎 SQL 客户端

MySQL是一个开源的关系型数据库管理系统(RDBMS) 它的整体架构可以分为以下几个主要组件和层级:

客户端层(Client Layer)

与 MySQL 交互的最顶层,如我们经常使用的 MySql 客户端工具,代表了客户端层。客户端通过 TCP/IP 协议与 MySQL 服务器进行通信,可以执行查询、更新数据等操作。 MySQL 还支持使用 socket 进行连接,不过一般使用较少。

连接池(Connection Pool)

MySQL 连接池位于客户端层和服务层之间,用于管理和维护 MySQL 服务器的连接。连接池可以提高性能,减少频繁建立和关闭连接的开销. MySQL中--使用参数 max-connections 对线程的最大连接数量进行限制

相关命令

#  查询当前  DB 地最大连接数.
show variables like '%max_connections%';
#  修改数据库的最大连接数为指定值.
set GLOBAL max_connections = 200;
#  查看当前的连接数量.
show status like 'Threads%'
  • Threads_cached:目前空闲的数据库连接数。
  • Threads_connected:当前数据库存活的数据库连接数。
  • Threads_created:MySQL-Server 运行至今,累计创建的连接数。
  • Threads_running:目前正在执行的数据库连接数。

系统服务层(Server Layer)

服务层包括 MySQL 服务器的核心组件,主要负责处理 SQL 查询、事务管理、安全性等。其可以分为以下几个部分.

连接管理器(Connection Manager)

处理客户端的连接请求,验证用户身份,维护连接池,以及将请求传递给 SQL 处理器。

SQL处理器(SQL processor)

SQL处理器解析、优化和执行SQL查询。负责查询的执行计划生成,索引选择以及结果集的返回。

存储引擎借口(Storage Engine Interface)

存储引擎负责数据的存储和检索。MySQL支持多种存储引擎,包括 InnDB、MyISAM、Memory等。不同存储引擎有不同的特性和适用场景。 其中 InnoDB 存储引擎比较常用

存储层(Storage Layer)

存储层是 MySQL 的底层,负责实际的数据存储和管理。每一个存储引擎都有自己的文件格式和存储结构,因此存储层的工作方式会因存储引擎的不同而有所不同。

物理存储(Physical Storage)

实际存储数据的硬件设备,包括磁盘和内存。MySQL 将数据存储在磁盘上,通过内存进行缓存和高速访问.


架构简略图

MySQL整体架构简介_存储引擎

标签:存储,架构,简介,MySQL,连接数,引擎,SQL,客户端
From: https://blog.51cto.com/u_16079703/7388830

相关文章

  • NLP中关键概念 词干提取(Stemming),词形还原(Lemmatization),命名实体识别简介
    词干提取(Stemming)和词形还原(Lemmatization)是自然语言处理中常用的文本预处理技术,用于将单词转化为它们的原始形式,以减少词汇的变形形式,从而简化文本分析和比较。1.词干提取(Stemming):词干提取是一种基于规则的文本处理方法,通过删除单词的后缀来提取词干(stem)。它的目的是将单词转化......
  • 即时通讯技术文集(第19期):IM架构设计基础知识合集 [共13篇]
    为了更好地分类阅读52im.net总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第19 期。[-1-] 微信后台基于时间序的新一代海量数据存储架构的设计实践[链接] http://www.52im.net/thread-2970-1-1.html[摘要] 时隔3年,微信再次分享了基于时间序的新一代海量数据存......
  • 1.HTML开发--个人网页:创建一个个人网页,包括个人简介、联系信息和照片
    创建一个个人网页是一个很好的方式来展示你自己,你可以在上面分享个人信息、联系方式以及你的兴趣爱好。以下是一个简单的HTML模板,你可以基于它创建你自己的个人网页:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=......
  • 软件测试|MySQL SELECT语句的详细使用
    简介MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了许多功能强大的SQL查询语句,其中最常用且最重要的是SELECT语句。SELECT语句用于从数据库表中检索数据,并根据给定的条件返回所需的结果集。在本文中,我们将深入探讨MySQLSELECT语句的各个方面,并提供一些示例来说明其用法。......
  • 软件测试|MySQL DISTINCT关键字过滤重复数据
    简介在MySQL中,有时候我们需要从表中检索唯一的、不重复的数据。这时,我们可以使用DISTINCT关键字来过滤掉重复的数据行。在本文中,我们将深入探讨MySQL中DISTINCT的用法以及如何在查询中使用它来得到不重复的结果集。基本语法DISTINCT关键字用于在SELECT语句中指示查询结果中去除重复......
  • 编写涉及多个数据库的 MySQL 存储过程注意事项
    在编写涉及多个数据库的MySQL存储过程时,有一些注意事项需要考虑。以下是一些重要的注意事项:数据库权限:确保您在存储过程中使用的数据库用户具有足够的权限来访问和操作涉及的所有数据库。这包括对表、视图、存储过程等对象的读取和写入权限。数据库连接:在存储过程中,您可能......
  • 构建可持续性软件架构:六大设计原则
    面试题分享2023最新面试合集链接2023大厂面试题PDF面试题PDF版本java、python面试题项目实战:AI文本OCR识别最佳实践AIGamma一键生成PPT工具直达链接玩转cloudStudio在线编码神器玩转GPUAI绘画、AI讲话、翻译,GPU点亮AI想象空间史上最全文档AI绘画stablediffusion资......
  • DBeaver转储数据库数据报错解决(即免安数据库提取mysqldump.exe)
    原因:DBeaver转储数据功能使用的是mysqldump.exe这个工具,本机安装的是mysql5.7,而需要导出的数据库是MariaDB10.5.16,应该对应mysql8,导致出错解决方法:当然是换新版本的mysqldump,但是这有个问题,只是为了导出,新装一个数据库实属没有必要,有文章说从MySQL下载他官方的连接工......
  • LoRA 简介
    LoRA简介简介LoRA,英文全称Low-RankAdaptationofLargeLanguageModels,直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。如果想让一个预训练大语言模型能够执行特定领域内的任务,一般需要做fine-tuning,但是目前推理效果好的大语言模......
  • 《Java架构师的第一性原理》65系统架构之架构设计方法论
     4规范(Musthave)规范一:非数据服务做到无状态,避免同一集群内的节点间有功能差异;做到实例可以被随时停止、重启、增加,并且完全不依赖于本地磁盘或者内存规范二:服务具备优雅重启规范三:服务提供的API建议采用http\grpc,json\pb规范,不建议其他自定义格式规范四......