在没有独立服务器(如物理机或专用云主机)的情况下,部署小型数据库是完全可行的。根据你的具体需求(如数据安全性、访问范围、性能要求),可以选择以下几种主流方案:
✅ 方案一:使用本地电脑 + 局域网共享(适合个人开发/测试)
适用场景:仅在内网中多个设备间共享数据,无需公网访问。
步骤:
- 安装轻量级数据库:
- SQLite(文件型,零配置)
- MySQL / PostgreSQL(需配置网络监听)
- 允许远程连接:
- MySQL:修改
my.cnf或my.ini,设置bind-address = 0.0.0.0,并创建允许远程登录的用户。 - PostgreSQL:修改
pg_hba.conf和postgresql.conf,启用 TCP/IP 监听。
- MySQL:修改
- 防火墙放行端口:
- Windows:通过“高级安全 Windows 防火墙”开放对应端口(如 3306、5432)。
- Linux/macOS:使用
ufw或iptables开放端口。
- 其他设备通过 IP 地址连接:
-- 示例:MySQL 远程连接 mysql -h <你的电脑IP> -P 3306 -u username -p
⚠️ 注意:此方式仅限内网使用,不建议暴露到公网。
✅ 方案二:使用免费云服务托管数据库(推荐用于生产/半生产环境)
许多云平台提供免费层级的数据库服务,无需自备服务器。
| 平台 | 免费套餐亮点 | 支持数据库类型 |
|---|---|---|
| Supabase | 免费 500MB 数据库,含 Auth、Storage | PostgreSQL |
| MongoDB Atlas | 免费 M0 沙箱(512MB) | MongoDB |
| Oracle Cloud Free Tier | 永久免费 ARM 实例 + Autonomous Database | Oracle DB, MySQL, PostgreSQL |
| AWS RDS Free Tier | 750 小时/月 t3.micro(限首年) | MySQL, PostgreSQL, MariaDB |
| Google Cloud SQL Free Trial | 30 天试用 | MySQL, PostgreSQL |
| Azure Database Free Tier | 部分服务有免费额度 | SQL Database, Cosmos DB |
优点:
- 高可用性、自动备份、SSL 加密
- 无需维护硬件
- 可从任何地方访问
缺点:
- 免费层可能有存储/流量限制
- 依赖第三方服务商
✅ 方案三:使用容器化部署在现有设备上
如果你有一台常开的设备(如 NAS、旧笔记本、树莓派),可用 Docker 运行数据库。
示例:Docker 运行 PostgreSQL
docker run --name my-postgres
-e POSTGRES_PASSWORD=mysecretpassword
-p 5432:5432
-d postgres
优势:
- 隔离性好,易于迁移
- 资源占用低
- 可结合 Portainer 等工具管理
✅ 方案四:Serverless 数据库(按用量付费,无服务器概念)
适合极低流量的小型应用。
| 服务 | 特点 |
|---|---|
| PlanetScale | Serverless MySQL,免费层有限额 |
| Neon | Serverless PostgreSQL,分支克隆功能强大 |
| Firebase Firestore | NoSQL,适合移动端/Web 应用 |
| Airtable | 类表格数据库,非传统 SQL,但易上手 |
📌 选择建议
| 场景 | 推荐方案 |
|---|---|
| 个人学习/内部测试 | 本地电脑 + SQLite/MySQL |
| 小型项目上线 | Supabase / MongoDB Atlas / Neon |
| 已有 NAS/树莓派 | Docker 部署 PostgreSQL/MySQL |
| 移动端/Web App 后端 | Firebase / PlanetScale |
🔒 安全提醒
无论哪种方案,请注意:
- 不要使用默认密码,设置强密码。
- 限制访问来源:云服务器应配置安全组/IP 白名单。
- 启用 SSL/TLS:确保数据传输加密。
- 定期备份:即使使用云服务,也建议导出关键数据。
如你能提供更具体的使用场景(如:是否需要公网访问?数据量多大?技术栈偏好?),我可以给出更精准的推荐。
云小栈