Lazy loaded image
Lazy loaded image使用 Docker 快速部署 MySQL 数据库
字数 873阅读时长 3 分钟
2025-7-1
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 数据库了。

🧰 前提条件

  • 熟悉基本的终端命令行操作
  • 网络环境正常,可拉取镜像(如果拉取不了官网镜像可从其他国内镜像站下载)

🚀 部署步骤

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 环境,既适合本地开发测试,也为未来上线打下基础。
💡
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
 
上一篇
Nginx+ACME服务器搭建
下一篇
2025-06月度总结

评论
Loading...