[知识点记录]SQLite 数据库和MySQL 数据库有什么区别?
核心区别:一个“内嵌”,一个“独立”
SQLite (你的个人笔记本)
- 本质: 它是“无服务器”的,或者叫“内嵌式”数据库。它不需要一个独立的程序一直在后台运行。你的应用程序(比如Strapi)直接就能读写它的数据库文件,就像你直接在你的笔记本上写字一样。
- 数据存储: 整个数据库就存放在一个单独的文件里(比如项目里的
.tmp/data.db
)。你可以把这个文件复制、移动、发给别人,非常方便。 - 安装配置: 几乎为零。因为它只是一个文件,不需要安装、不需要配置用户名密码、也不需要启动服务。所以 Strapi 在快速启动 (
--quickstart
) 时默认使用它,让你能立刻开始工作,而不用去折腾数据库环境。
MySQL (公司的中央档案室)
- 本质: 它是“客户端-服务器”架构的数据库。它是一个独立的、需要一直运行的软件服务。你的应用程序(客户端)通过网络连接到这个服务,然后请求它帮忙存取数据。就像公司员工需要去中央档案室,找档案管理员帮忙存取文件一样。
- 数据存储: 数据由 MySQL 服务统一管理,存储在它自己的特定目录里,而不是一个简单的文件。
- 安装配置: 相对复杂。你需要单独安装 MySQL 服务,启动它,为你的项目创建专门的数据库、用户名和密码,然后在你的 Strapi 项目里配置这些连接信息。
一张图看懂对比
特性 (Feature) | SQLite (个人笔记本) | MySQL (中央档案室) |
---|---|---|
工作模式 | 无服务器,直接读写文件 | 客户端-服务器模式,需要网络连接 |
安装 | 无需安装,程序自带 | 需要独立安装和配置 |
数据形态 | 一个 .db 文件 | 一个完整的、持续运行的服务 |
并发性能 | 不适合大量用户同时写入 | 非常适合,能处理大量用户同时读写 |
适用场景 | 1. 开发和测试 2. 移动App (iOS/Android) 3. 桌面软件 4. 访问量很小的网站 | 1. 绝大多数生产环境的网站 2. 需要多人协作的应用 3. 数据量大、访问频繁的系统 |