DB Manager — 用户手册 | YoBench
如何在 YoBench 中使用「DB Manager」模块:MySQL、PostgreSQL、MongoDB、SQLite 与 MS SQL,ER 图、带 AI 的 SQL 编辑器、Schema 对比、定时备份。
「DB Manager」模块的用途
DB Manager 是一个统一的工作台,用于直接在 YoBench 中操作关系型与文档型数据库。无需在多种工具之间切换(DBeaver、pgAdmin、mysql-cli、MongoDB Compass),您只在一个应用中连接数据库、浏览结构、执行查询、用 AI 生成 SQL、对比 Schema、定时备份并监控连接状态。
您将获得:
- 六种数据库引擎 — MySQL、MariaDB、PostgreSQL、SQLite、MS SQL Server、MongoDB。
- Schema 浏览器 — 数据库 / schema / 表 / 视图 / 存储过程的完整树形视图,含结构、索引、外键与触发器。
- SQL 编辑器,支持查询历史、结果导出 CSV / JSON / XLSX,并带有 1 万行的安全上限。
- AI SQL 生成 — 用自然语言描述需求,即可获得绑定到当前数据库上下文的草稿查询。
- ER 图 — 自动 Dagre 布局,带外键边以及缩放 / 拖动。
- Schema 对比与同步 — 比较两个 schema、生成
ALTER脚本,并应用到目标库。 - 备份 — 手动 dump / restore,加上带 cron、文件轮转与运行历史的调度器。
- 连接监控 — 健康检查、延迟、版本横幅。
- 加密的密钥 — 密码、SSL 密钥与 SSH 密钥在本地数据库中加密存储;渲染层只看到
has_password标志。
支持的引擎与连接选项
| 引擎 | 默认端口 | 说明 |
|---|---|---|
| MySQL | 3306 | TCP/IP,可选 SSL |
| MariaDB | 3306 | 与 MySQL 同协议族 |
| PostgreSQL | 5432 | SSL 模式:disable、require、verify-ca、verify-full |
| MS SQL Server | 1433 | TCP/IP |
| MongoDB | 27017 | authSource 参数指定鉴权库 |
| SQLite | — | 本地文件,无主机或端口 |
对基于 TCP 的引擎,可在连接记录中存储 SSH 隧道凭据(该字段已预留,后续将在界面中开放)。所有敏感字段 — 密码、SSL 密钥、SSH 密码、SSH 私钥 — 均在静态时加密。
工作台
每个打开的连接独占一个标签页。单窗口最多可有 10 个活动会话(渲染层限制)。调度器、备份与健康检查使用的无头会话运行在独立池中。
工作台包含:
- Schema 树(左侧) — 从连接根一路下钻到具体的表或视图。
- 对象检查器 — 含类型与可空性的列、索引(含唯一性)、约束、外键与触发器。
- 数据视图 — 分页行,带列级筛选。单元格上限为 64 KB;若行数超过 1 万,结果集会返回
truncated标志。 - SQL 编辑器 — 编写或粘贴查询、运行、查看表格结果、回查历史。
- DDL 视图 — 选定表或整个数据库的完整
CREATE脚本。 - ER 图 — 基于 React Flow 的交互式画布,使用 Dagre 自动布局表与外键边。
SQL 编辑器与 AI 生成
SQL 编辑器接受当前引擎可执行的任意语句。结果落入支持排序、列级筛选与三种导出格式(CSV、JSON、XLSX)的表格。每次执行的查询都保存在该连接的 Query History(查询历史)中,便于稍后重新运行或复制。
当 设置 → DB Manager 中配置了 AI 提供商后,即可使用 AI SQL 生成:
- 打开编辑器上方的 AI 输入框。
- 描述需求(例如 "近 30 天按收入排名的前 10 名客户")。
- 模块会将当前数据库 / schema 作为上下文发送给 AI,AI 返回草稿查询,您审阅后执行即可。
若未选择提供商,AI 按钮保持禁用 — 普通查询仍可使用,只是 AI 生成步骤不可用。
Schema 对比与同步
选择两个 schema(同一连接或两个不同连接),运行 Schema Compare(Schema 对比),查看差异:
- 表:
added(新增)、removed(移除)、altered(变更)、identical(一致)。 - 对于变更的表:列级变化(新增 / 移除列、类型变化、默认值 / 可空性变化、索引变化)。
- 生成的 同步脚本 — 一段可执行的
ALTER/CREATE/DROP序列,用于把目标对齐到源。 - 可选 导出 — 在执行前先把脚本保存到磁盘。
适用于两类典型场景:把改动从 staging 推到 production,以及验证两个副本是否漂移。
备份与还原
一次性 dump。 在连接上右键 → Backup(备份)。dump 写入 ZIP 归档,内含 JSON 清单与数据库内容。可选择是否包含:
- 数据行
- 视图、存储过程、函数
- 授权(grants)
还原。 打开目标连接(或为空库新建一个连接) → Restore(还原) → 选择 dump 归档 → 确认覆盖策略。
定时备份。 在连接的 Backup Schedules(备份计划)面板中:
- 选择 cron 表达式或预设(每天、每周、每 N 小时)。
- 选择目标文件夹。
- 设置轮转策略:保留最近 N 个归档。
- 可选 Run Now(立即运行)按钮,用于不必等待 cron 即可验证计划。
Backup History(备份历史)面板列出每次运行,含状态、归档大小与耗时。失败的运行会附带错误信息。
连接监控
每个连接都有一个可选的 monitoring(监控)开关与间隔(默认 5 分钟)。启用后,工作台会:
- 用引擎专用的存活检查 ping 服务器。
- 记录毫秒级延迟。
- 保存最新的服务器版本横幅。
- 在连接列表中显示状态指示器。
历史记录保存在本地,并为工作台标签中的 Monitoring panel(监控面板)提供数据。
嵌入式 DB 任务
每个连接都可以承载自己的 DB tasks(数据库任务) — 周期性的 SQL 脚本(清理、物化视图刷新、统计信息)。任务包含:
- 名称与 SQL 内容。
- 计划(cron 风格)。
- 启用 / 禁用开关。
- 运行历史:
success、error、timeout。
DB 任务与 AI Task Scheduler 不同:它们只跑纯 SQL,绑定单一连接,不涉及 AI。
设置
在 设置 → DB Manager 中:
- AI 提供商 — 由哪个提供商响应 AI SQL 提示。默认为空。
每个连接的设置位于连接表单中:名称、引擎、主机、端口、数据库、用户、密码、SSL 模式、SQLite 文件路径、监控间隔以及引擎专属字段(如 MongoDB 的 authSource)。
使用流程
1. 添加连接
- 在侧边栏打开 DB Manager。
- Connections(连接)标签页 → New connection(新建连接)。
- 选择引擎 — 表单会自动只显示相关字段。
- 填写主机 / 端口 / 数据库 / 用户 / 密码(SQLite 则填写文件路径)。
- 点击 Test(测试) — 您会看到服务器版本与往返延迟。
- 保存。
2. 打开工作台
- 在连接行点击 Open(打开) → 新标签页打开。
- 浏览 schema 树,双击表查看数据与结构。
- 切换到 SQL Editor(SQL 编辑器)以执行语句。
3. 安排备份
- 从连接菜单选择 Backup Schedules(备份计划)。
- New Schedule(新建计划) → 文件夹、cron 表达式、保留策略。
- Run Now(立即运行)进行验证,或等待 cron 触发。
- 在 Backup History(备份历史)中查看运行结果。
4. 对比 Schema
- 从连接菜单选择 Schema Compare(Schema 对比)。
- 选择源与目标(数据库 + schema)。
- Compare(对比) → 审阅差异。
- Generate Sync Script(生成同步脚本) → 审阅 SQL → Execute(执行)或 Save to file(保存到文件)。
下一步
- 配置 AI 提供商 以启用 AI SQL 生成。
- 当需要 LLM 按 cron 计划执行查询、汇总结果并发送到某处时,使用 AI Task Scheduler。
- 若要对数据库本身做负载与容量测试,Load Testing 模块可对前置的 HTTP 端点施压。
帮助与反馈
发现 Bug 或希望支持新的引擎?通过反馈表单联系我们。