下载
RU EN DE FR ES PT 中文

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 模式:disablerequireverify-caverify-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 生成:

  1. 打开编辑器上方的 AI 输入框。
  2. 描述需求(例如 "近 30 天按收入排名的前 10 名客户")。
  3. 模块会将当前数据库 / 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 风格)。
  • 启用 / 禁用开关。
  • 运行历史:successerrortimeout

DB 任务与 AI Task Scheduler 不同:它们只跑纯 SQL,绑定单一连接,不涉及 AI。

设置

设置 → DB Manager 中:

  • AI 提供商 — 由哪个提供商响应 AI SQL 提示。默认为空。

每个连接的设置位于连接表单中:名称、引擎、主机、端口、数据库、用户、密码、SSL 模式、SQLite 文件路径、监控间隔以及引擎专属字段(如 MongoDB 的 authSource)。

使用流程

1. 添加连接

  1. 在侧边栏打开 DB Manager
  2. Connections(连接)标签页 → New connection(新建连接)。
  3. 选择引擎 — 表单会自动只显示相关字段。
  4. 填写主机 / 端口 / 数据库 / 用户 / 密码(SQLite 则填写文件路径)。
  5. 点击 Test(测试) — 您会看到服务器版本与往返延迟。
  6. 保存。

2. 打开工作台

  1. 在连接行点击 Open(打开) → 新标签页打开。
  2. 浏览 schema 树,双击表查看数据与结构。
  3. 切换到 SQL Editor(SQL 编辑器)以执行语句。

3. 安排备份

  1. 从连接菜单选择 Backup Schedules(备份计划)。
  2. New Schedule(新建计划) → 文件夹、cron 表达式、保留策略。
  3. Run Now(立即运行)进行验证,或等待 cron 触发。
  4. Backup History(备份历史)中查看运行结果。

4. 对比 Schema

  1. 从连接菜单选择 Schema Compare(Schema 对比)。
  2. 选择源与目标(数据库 + schema)。
  3. Compare(对比) → 审阅差异。
  4. Generate Sync Script(生成同步脚本) → 审阅 SQL → Execute(执行)或 Save to file(保存到文件)。

下一步

  • 配置 AI 提供商 以启用 AI SQL 生成。
  • 当需要 LLM 按 cron 计划执行查询、汇总结果并发送到某处时,使用 AI Task Scheduler
  • 若要对数据库本身做负载与容量测试,Load Testing 模块可对前置的 HTTP 端点施压。

帮助与反馈

发现 Bug 或希望支持新的引擎?通过反馈表单联系我们