


数据库Database是诞生于20世纪60年代末的一项重要技术。它已成为计算机科学与技术的一个重要分支,主要用于解决数据处理中的非数值计算问题。数据处理的核心内容包括数据的存储、查询、修改、排序和统计等。
在现代应用程序开发中,使用数据库是不可或缺的,它提供了传统文件系统难以比拟的优势:
关系型数据库是指采用了关系模型来组织数据的数据库。关系模型可以简单理解为二维表格模型。一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
💡 核心概念: 在关系型数据库中,表中的每一条记录称为一行数据(Row),每一个数据行由一个或多个列(Column)组成。
例如,在“学生表”和“班级表”中,可以通过“班级编号”这个公共字段来建立两者之间的关系,从而实现数据的有效组织和查询。



类型 | 数据库 | 特点 | 适用场景 |
|---|---|---|---|
关系型 | Oracle | 甲骨文产品,适合大型项目,业内最强的数据库,需要收费。 | 大型企业级项目 |
MySQL | 开源免费,最受欢迎的数据库,在中小企业中普及率非常高。 | 电商、论坛、中小型项目 | |
PostgreSQL | 加州大学伯克利分校计算机系开发,可以免费使用、修改和分发。 | 开源项目、复杂查询 | |
SQL Server | 微软推出的一款专业级数据库,适用于中大型项目。 | 中大型项目,微软生态 | |
SQLite | 一款轻型的数据库,占用资源非常低。 | 嵌入式设备、手机APP、桌面程序 | |
非关系型 | Redis | 流行的基于键值对的内存数据库,常用作缓存,支持多种数据结构。 | 缓存、会话存储 |
MongoDB | 基于NoSQL的文档型数据库,易扩展、高性能、高可用性。 | 内容管理、大数据应用 |
mysqldMySQL安装完成后,其核心的服务端程序是 mysqld(Linux)或 mysqld.exe (Windows)。该可执行程序运行后,MySQL服务即启动。当把MySQL服务配置为自启动时,操作系统启动时会自动运行 mysqld 可执行程序,从而启动MySQL服务。
数据库服务器是指在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库(Database),一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表(Table),以保存程序中实体的数据。

MySQL的默认配置(如端口号、数据目录、存储引擎、字符编码集等)可以通过编辑选项文件(Configuration File)实现修改。
在Windows系统中,选项文件的默认路径通常是 C:\ProgramData\MySQL\MySQL Server 8.0\my.ini。
以下是选项文件中的关键配置节点和参数:
# CLIENT SECTION # 所有随MySQL安装的客户端程序统一配置节点
[client]
default-character-set=utf8mb4 # 所有客户端使用utf8mb4编码
port=3306 # 客户端连接端口号
# SERVER SECTION # MySQL服务器端配置节点
[mysqld] # 针对MySQL服务端程序mysqld配置
port=3306 # MySQL服务的端口号
# basedir="D:/Program Files/MySQL/MySQL Server 8.0/" # 安装目录路径
datadir=D:/database/MySQL/data8.0 # 数据目录的实际路径,如果要修改,此处填写数据目录的实际路径
character-set-server=utf8mb4 # 服务端使用的编码集
collation-server = utf8mb4_0900_ai_ci # 服务端使用的排序规则
default-storage-engine=INNODB # 服务端使用的存储引擎
general-log=1 # 是否开启通用日志(1开启)
log-error="D:/log/MySQL/8.0/error_log.err" # 错误日志的输出路径
log-bin="D:/log/MySQL/8.0/bin_log" # binlog的文件名前缀,用于备份和复制注意: 修改配置文件之后,如果重新指定数据目录路径,需要把C:\ProgramData\MySQL\MySQL Server 8.0\Data 目录整体复制到目标位置,并且需要重新启动MySQL服务才能生效。
MySQL安装成功后自带的命令行客户端工具,可以输⼊命令和执行SQL语句,mysql的基本使用非常简单,打开终端并输入以下命令:


也可以使用MySOL官方提供的可视化客户端工具Workbench,运行后如下所示

客户端与MySQL数据库服务器的通讯属于典型的C/S架构(Client/Server Architecture)。

C/S架构全称是客户端/服务器(Client/Server)架构模式,是常用的两层架构。客户端需要安装客户端软件,服务端程序运行在服务器上,提供 Socket 或数据库服务。

B/S架构全称是浏览器/服务器(Browser/Server)结构,分为Web浏览器、服务器程序、数据库服务三部分,可以理解为是对C/S架构一种改进。由于所有的业务逻辑都由服务器程序处理,所以客户端仅使用浏览器就可以完成所有操作,大大降低了客户端的维护成本。

SQL(Structured Query Language),即结构化查询语言的简称,是一种数据库查询和程序设计语言。它用于存取数据以及查询、更新和管理关系数据库。
SQL 指令可以划分为以下三大类:
CREATE(创建)、DROP(删除)、ALTER(修改)。INSERT(插入)、DELETE(删除)、UPDATE(更新)、SELECT(查询)。GRANT(授权)、REVOKE(撤销权限)、COMMIT(提交事务)。MySQL 8.0 服务器是由连接池、服务管理工具和公共组件、NoSQL接口、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。MySQL还为各种编程语言提供了一套用于外部程序访问服务器的连接器。
其整体架构可以分为以下几个层次:


存储引擎是MySQL数据库处理数据的核心组件,默认的存储引擎是 INNODB。可以使用 SHOW ENGINES 语句查看当前服务器支持的存储引擎。

Feature (特性) | MyISAM | Memory | InnoDB |
|---|---|---|---|
事务支持 (Transactions) | No | No | Yes |
外键支持 (Foreign key support) | No | No | Yes |
锁粒度 (Locking granularity) | Table (表级锁) | Table (表级锁) | Row (行级锁) |
集群索引 (Clustered indexes) | No | No | Yes |
数据缓存 (Data caches) | No | N/A | Yes |
存储限制 (Storage limits) | 256TB | RAM (内存) | 64TB |
B-tree 索引 | Yes | Yes | Yes |
MVCC | No | No | Yes |
关键结论:
本文从数据库的必要性出发,介绍了关系型数据库的核心概念,并以MySQL为例,详细阐述了其安装配置、C/S通讯架构,以及影响性能和数据可靠性的核心组件——存储引擎。
核心知识点回顾:
mysqld 是其服务端核心程序。希望通过对MySQL架构的理解,读者能够在实际应用开发中,根据业务场景(如高并发、数据一致性、快速查询)选择最合适的存储引擎和数据库设计方案。
思考与讨论: 在您的项目中,是否遇到过因为存储引擎选择不当而导致的性能问题?在什么场景下,您会考虑使用 MyISAM 或 MEMORY 替代默认的 InnoDB 引擎?欢迎在评论区分享您的经验和见解!