数据库配置
在几秒内创建生产就绪的数据库。sh0 管理容器生命周期、网络和持久化存储,让你专注于应用开发。
支持的数据库
sh0 开箱即用支持五种数据库引擎。每种引擎都作为堆栈中的托管 Docker 容器运行,配有持久化卷和自动网络。
| 引擎 | 默认端口 | 可用版本 | 使用场景 |
|---|---|---|---|
| PostgreSQL | 5432 | 14, 15, 16, 17 | 通用、高级查询、JSONB |
| MySQL | 3306 | 8.0, 8.4, 9.0 | 传统 Web 应用、WordPress、Laravel |
| MariaDB | 3306 | 10.11, 11.2, 11.4 | MySQL 兼容的开源替代方案 |
| Redis | 6379 | 7.0, 7.2, 7.4 | 缓存、会话、队列、发布/订阅 |
| MongoDB | 27017 | 6.0, 7.0, 8.0 | 文档存储,灵活的数据结构 |
Supported database engines in the sh0 dashboard -- showing PostgreSQL, MySQL, MariaDB, Redis, and MongoDB cards
创建数据库
数据库在堆栈中创建。导航到你的堆栈,然后点击 添加服务 并选择 数据库。
- 打开你希望数据库所在的 堆栈。
- 点击右上角的 添加服务。
- 从服务类型选择器中选择 数据库。
- 选择引擎(例如 PostgreSQL)。
- 为数据库命名——此名称将成为内部网络上的容器主机名。
- 配置版本、凭据和资源限制。
- 点击 创建。
Create database dialog -- selecting PostgreSQL, entering a name, and configuring credentials
Tip
你选择的数据库名称将成为内部主机名。例如,将数据库命名为
mydb 意味着你的应用可以在同一堆栈中通过 mydb:5432 访问它。选择版本
每个引擎提供多个主要版本。sh0 会拉取你选择版本的官方 Docker 镜像。你可以稍后更改版本,但主要版本升级需要数据迁移。
Warning
不支持降级数据库版本。请始终先在预览环境中测试主要版本升级。升级前请创建备份。
资源限制
sh0 允许你为每个数据库容器设置 CPU、内存和磁盘限制。这可以防止单个数据库消耗所有服务器资源。
CPU 和内存
设置 CPU 核心和内存分配的限制。默认设置适用于大多数工作负载,但你可以根据应用需求进行调整。
| 设置 | 默认值 | 描述 |
|---|---|---|
| CPU 限制 | 1.0 核 | 容器可使用的最大 CPU 核心数 |
| 内存限制 | 512 MB | 最大 RAM 分配 |
| 内存预留 | 256 MB | 最低保证 RAM |
Resource limits configuration panel -- CPU, memory limit, and memory reservation sliders
磁盘分配
数据库数据存储在持久化 Docker 卷上。默认没有磁盘配额——数据库可以使用主机上的可用磁盘空间。你可以在监控配置中设置软警告阈值,以便在磁盘用满前收到告警。
数据库状态与健康
sh0 持续监控你的数据库容器。控制台为每个数据库显示实时状态指示器。
| 状态 | 含义 |
|---|---|
| 运行中 | 容器已启动并接受连接 |
| 启动中 | 容器正在启动 |
| 已停止 | 容器已退出或已被停止 |
| 错误 | 容器启动失败或崩溃 |
Database list in the stack view -- showing status indicators, versions, and resource usage
点击任意数据库可查看详细的健康信息,包括当前 CPU 和内存使用率、连接数、运行时间和最近的日志。
Database detail view -- health metrics, uptime, connections, and resource usage graphs
管理数据库
在数据库详情页,你可以执行常见的管理任务:
- 启动 / 停止 / 重启 -- 控制容器生命周期。
- 查看日志 -- 实时查看容器日志流。
- 终端 -- 在数据库容器内打开 shell。
- 编辑设置 -- 更改资源限制、版本或凭据。
- 备份 -- 配置和触发备份(参见 备份与恢复)。
- 删除 -- 移除数据库及其数据卷。
Danger
删除数据库会永久移除其数据卷。此操作不可撤销。删除前请务必创建备份。
Database management actions -- start, stop, restart, terminal, backups, and delete buttons