type
status
date
slug
summary
category
tags
create_time
Jun 28, 2025 06:33 PM
icon
password
my_create_time
📝 背景介绍
随着 AI 开发工具(如 Cursor)的广泛应用,许多默认生成的项目使用 SQLite 作为数据库。这是因为:
- SQLite 是嵌入式数据库,不需要单独部署服务,占用资源极小;
- 单个
.db
文件即可完成读写,适合小型应用或快速原型设计;
- 零配置、跨平台、体积小。
然而,SQLite 也存在一些局限性:
- 并发性能较慢
- 多用户支持较弱
- 数据体量支持较小(MB~GB)
因此随着项目正式上线,推荐使用更专业的
MySQL
数据库,可大幅提升性能。而在开发/测试环境使用
Docker
可快速便捷的搭建 MySQL
环境,生产环境还是建议部署在虚拟机/物理机或直接购买公有云RDS服务(稳定性和性能更有保障)。PS:nCalendar 在上个迭代就已经从
SQLite
升级迁移至 MySQL
数据库了。🧰 前提条件
- 已安装部署 Docker(可参看文章:《Docker 与 Docker Compose 安装部署》)
- 熟悉基本的终端命令行操作
- 网络环境正常,可拉取镜像(如果拉取不了官网镜像可从其他国内镜像站下载)
🚀 部署步骤
1️⃣ 创建本地持久化目录
由于 Docker 运行的容器默认不会持久化数据,当容器销毁时其数据也会跟着清空,针对 MySQL 这类需要数据存储的有状态应用,必须得通过挂载的形式将本地目录映射到容器内,数据才不会被清空。
2️⃣ 创建配置文件
建议将
MySQL
的配置文件也通过挂载的形式传递到容器内,方便管理。3️⃣ 运行 MySQL 容器
执行以下命令启动 MySQL 容器:
PS:若无法直接通过官网下载镜像,可使用国内镜像源地址:
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:9.3.0
4️⃣ 验证容器状态
运行以下命令确认容器是否正常运行:
🧪 使用建议
可使用 DBeaver、Navicat 或 DataGrip 等可视化工具远程连接管理数据库。
✅ 总结
SQLite 是快速开发的极佳选择,但当你的项目需要更强的并发支持、持久化能力和数据安全保障时,MySQL 无疑是更成熟可靠的选择。
通过本文提供的 Docker 部署方案,你可以在几分钟内搭建好一个标准 MySQL 环境,既适合本地开发测试,也为未来上线打下基础。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:lusyoe
- 链接:https://blog.lusyoe.com/article/docker-deploy-mysql
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。