从零学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的配置配置
  • 命令行客户端的基本使用(验证安装、简单查询)。
相关推荐
庆登登登11 分钟前
MySQL Workbench 鸿蒙 PC 适配全记录:从 GTK_X11 桌面程序到 ArkUI 原生数据库工作台
数据库·mysql·harmonyos
2601_9632827715 分钟前
政企无线对讲系统落地:从设备采购到长期运维的完整工程实践
大数据·运维·数据库
熊文豪16 分钟前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库·sql·电科金仓
大模型码小白25 分钟前
数据可视化:AI 生成 HTML5 动态交互式数据图表
前端·数据库·人工智能·深度学习·机器学习·信息可视化·html5
风哥2号26 分钟前
数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01(OGG同构异构、数据库迁移、数据同步、容灾复制)
数据库·oracle
2601_9622184734 分钟前
万象生鲜系统协议价底层架构实现生鲜企业报价业务数字化管理
大数据·运维·微服务·云原生·架构
wzdark37 分钟前
多核架构下算法并行化的瓶颈与突破点4
算法·架构
颜颜yan_38 分钟前
Firebird 鸿蒙 PC 适配全记录:打通数据库内核、Qt 管理端与原生维护工具
数据库·qt·harmonyos
风哥2号39 分钟前
数据库教程FGMT25‑Oracle多租户架构CDB与PDB运维管理
数据库·oracle
程序猿乐锅43 分钟前
【黑马点评 | 第一篇】从 Session 到 Redis+Token 的改造与拦截器实现
数据库·redis·缓存