从零学SQL 02 MySQL架构介绍

本文将介绍 MySQL 软件架构、进程架构及数据库实例的概念,帮助大家理解MySQL数据库是什么。同时对比生产与学习环境部署差异,为下一步安装做准备。

文章目录

一、MySQL的架构

1.1 软件架构

MySQL采用经典的Client/Server(客户端/服务器)架构,你可以把这个架构想象成"餐厅点餐":

  • 服务器端(Server):相当于餐厅的后厨+仓库------负责保管所有"食材"(比如订单、商品数据),并处理来自"顾客"的请求;
  • 客户端(Client):相当于餐厅的点餐员/顾客------不存储数据,只负责向"后厨"发送指令(比如"我要查昨天的订单数据"),并接收后厨返回的结果(查到的订单列表)。

1.2 服务器端进程架构

我们之前提到"数据库(Database)"是存储数据的文件集合,"数据库管理系统(DBMS)"是操作数据库的软件;这两个都是静态的概念。

启动MySQL数据库时,操作系统会创建一个叫做mysqld的进程并分配相应的内存资源, 这个进程就是MySQL DBMS的核心执行程序,是服务器端的"本体"。

MySQL采用单进程多线程架构,这是保证它能同时处理多个请求的核心设计:

  • 单进程 :一个完整的MySQL服务(实例)对应操作系统中的一个 mysqld 进程(Windows下是 mysqld.exe),这个进程是MySQL服务器端的核心,负责管理所有数据资源;
  • 多线程mysqld 进程内部会启动多个线程,每个线程处理一个客户端的请求(比如同时处理A用户查订单、B用户新增数据、C用户修改商品价格),以此实现"并发处理",避免多个用户操作时排队等待。

1.3 实例的概念(数据库核心术语)

MySQL 实例(Instance) 是"动态的"概念:= mysqld 进程 + 内存资源,我们平时说的"启动数据库"和关闭数据库"指的就是创建和销毁实例。

  • 启动数据库 = 创建实例(创建mysqld进程 + 分配配内存);
  • 关闭数据库 = 销毁实例(停止mysqld进程 + 回收内存);

简单说:实例是MySQL 数据库的"运行状态" ,是"活的"DBMS;而数据库(Database)是"死的"数据文件集合,实例启动时会打开数据库文件,我们通过实例去操作数据库。

二、MySQL环境部署准备

2.1 生产环境

在公司的生产环境,客户端和服务器端通常是物理分离的:

  • 服务器端:运行在专门的数据库服务器上(比如云服务器、机房的物理机),24小时不间断运行,保障数据安全和性能;
  • 客户端:运行在员工的个人电脑/办公电脑上,通过网络连接到服务器端,常用的客户端工具包括:
    • mysql命令行工具(官方命令行工具,随MySQL安装,纯文字操作,轻量高效);
    • MySQL WorkBench(官方图形客户端,方便新手);
    • dbeaver、Navicat、dbvisualizer等(商用图形工具,界面友好,功能强大,通常需付费);
    • Python/Java代码(通过代码与Server通信,也是一种"客户端")。

2.2 学习环境

为了方便学习,我们会把服务器端和客户端安装在同一台电脑上------你的电脑既扮演Server(存储数据、处理请求),又扮演Client(发送SQL指令、查看结果)。

软件准备

对于学习SQL,我们只需要安装2个核心组件(mysql命令行工具会随Server自动安装):

组件名称 作用(零基础解读) 是否必装 补充说明
MySQL Community Server MySQL服务器端核心程序,负责存储、管理数据 必装 选择"社区版(Community)",免费且满足学习/中小型业务需求,企业版需付费;
mysql 命令行工具 命令行客户端,通过文字指令操作MySQL 随Server自动安装 无需单独下载,安装Server时会默认包含;
MySQL WorkBench 官方图形化管理工具,可视化操作MySQL 推荐装 新手友好,不用记复杂命令,能可视化建表、查数据、写SQL,降低学习门槛;
安装建议
  1. 新手优先使用「MySQL Server + MySQL WorkBench」,图形工具能帮你快速理解数据结构,后续再慢慢过渡到命令行客户端(工作中命令行更常用);
  2. 版本选择:优先选LTS长期支持版(比如MySQL 8.4.x系列),稳定性更高;

下一节我们将学习Windows下MySQL的安装,包括:

  • MySQL Server的安装和配置
  • MySQL WorkBench的配置配置
  • 命令行客户端的基本使用(验证安装、简单查询)。
相关推荐
复园电子16 分钟前
企业级PDF批量盖章方案选型指南
数据库·pdf
herosunly6 小时前
60ms 不是启动快,而是不用重新启动:CubeSandbox 极速冷启动架构拆解
架构·cube sandbox
zlinear数据采集卡7 小时前
从气动比例阀到任意波形:硬核拆解ZLinear采集卡的DAC输出架构与工业闭环控制实战
arm开发·架构
AI-好学者7 小时前
阶段一-图数据库基础与PropertyGraph模型
数据库·rag·knowledge graph·graphrag
其实防守也摸鱼8 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚9 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
龙仔7259 小时前
SQL Server 创建只读账号完整操作(分两种场景:SSMS图形界面 + T-SQL脚本)
数据库·sql·oracle
2601_961946089 小时前
AI API 网关实战:从单 Key 管理到企业级多租户架构
大数据·人工智能·金融·架构·api·个人开发
霁月的小屋9 小时前
生产环境中的事务实践——银行系统上线记(四)
数据库
Database_Cool_9 小时前
AI 应用数据底座首选:阿里云 PolarDB 为大模型 RAG 提供一体化支撑
数据库·阿里云