DBX:20MB 开源数据库管理工具,一个工具搞定 60+ 种数据库

基于 Tauri 2 + Rust + Vue 3 构建,AGPL-3.0 协议开源,GitHub 7.1k+ Stars

做技术运维及开发这些年,数据库客户端换了不下五六款。DBeaver 功能全但启动慢、吃内存;Navicat 好用但价格肉疼;TablePlus 体验不错可惜只支持 macOS。更头疼的是,项目里经常同时用 MySQL、Redis、MongoDB、ClickHouse,光在不同工具之间切来切去就够烦了。

有没有一款工具:体积小、不挑系统、支持的数据库多、顺手还能帮写 SQL?

DBX 就是答案。


一、DBX 是什么

DBX 是一款开源的跨平台数据库统一管理客户端,将连接管理、SQL 编辑、数据表格、结构工具、AI 助手和自托管访问放进一个轻量产品里。

核心数字:

  • ~20 MB 桌面安装包,零运行时依赖
  • 60+ 数据库引擎
  • 2 种模式 桌面版与 Docker 版
  • 9.1k+ GitHub Stars,完全开源免费

技术架构:

  • 后端:纯 Rust 编写数据库驱动
  • 前端:Vue 3 + TypeScript
  • 框架:Tauri 2,无需 Java 运行时、无需内嵌 Chromium

对比 DBeaver 动辄几百 MB 还要 Java 环境,DBX 下载即用、启动飞快。


二、50+ 种数据库,一网打尽

DBX 直接支持的数据库覆盖了日常开发中几乎全部类型:

关系型

数据库 说明
MySQL 最流行的开源关系型数据库
PostgreSQL 功能最丰富的开源关系型数据库
SQLite 轻量级文件型数据库
MariaDB MySQL 分支,兼容性强
SQL Server 微软企业级数据库
Oracle 商业数据库标杆
CockroachDB 分布式 NewSQL 数据库

文档型 / 键值型

数据库 说明
MongoDB 最流行的文档型数据库
Redis 全数据类型支持:String / Hash / List / Set / ZSet / Stream
Elasticsearch 全文搜索与分析引擎

分析型

数据库 说明
ClickHouse 列式 OLAP 数据库
DuckDB 嵌入式分析型数据库
Doris / StarRocks / SelectDB 国产分析型数据库

向量数据库

数据库 说明
Qdrant 高性能向量搜索引擎
Milvus 云原生向量数据库
Weaviate 语义搜索引擎

国产信创

数据库 说明
TiDB PingCAP 分布式数据库
OceanBase 蚂蚁集团分布式数据库
openGauss / GaussDB 华为开源/商业数据库
KingBase 人大金仓
达梦 DM 国产商业数据库
Vastbase / GoldenDB / HighGo 其他国产信创数据库

通过 JDBC / Agent 扩展

还支持 Snowflake、Trino、Hive、Neo4j、BigQuery、DB2、SAP HANA、Teradata、Vertica、Exasol、Cassandra 等。

一个工具,告别切来切去。


三、核心功能一览

3.1 SQL 查询编辑器

基于 CodeMirror 6 的编辑器,专为数据库操作优化:

  • 智能补全:结合 SQL 关键字、表名、视图、字段名和 JOIN 关系给出建议
  • 选中执行:选中 SQL 片段后执行,减少误操作
  • SQL 格式化:一键统一缩进、换行和关键字风格
  • 查询历史:每个连接独立保存历史,支持按时间范围过滤
  • 执行目标选择器:多语句时自动提示选择要执行的语句
操作 macOS Windows / Linux
执行全部 SQL Cmd+Enter Ctrl+Enter
执行选中 SQL 选中文本后 Cmd+Enter 选中文本后 Ctrl+Enter

3.2 数据表格

虚拟滚动渲染,百万行数据也不卡:

  • 行内编辑:双击单元格直接编辑,修改内容高亮标记,确认后批量保存
  • SQL 预览:保存前展示即将执行的 UPDATE/INSERT/DELETE 语句
  • 过滤与排序:支持搜索、WHERE 数据库层筛选、ORDER BY 排序
  • 多行操作:批量克隆、批量删除、批量复制
  • 列格式化器:日期时间格式化、JSON 路径提取、值掩码、自定义模板
  • 转置视图:行列表互换,适合宽列数据查看
  • 单元格详情:长文本、JSON、图片预览、二进制十六进制查看器

导出格式:

格式 用途
CSV Excel、Numbers 等
JSON 脚本、接口调试
Markdown Issue、PR、文档
INSERT 可执行的 INSERT 语句
UPDATE 可执行的 UPDATE 语句
XLSX Excel 格式

3.3 结构浏览器

左侧侧边栏按层级组织数据库对象:

连接
└── 数据库
└── Schema
└── 表/视图
└── 字段(类型、约束、默认值)
  • 搜索:快速定位表名、视图名、字段名
  • 置顶:高频表、重点连接置顶,减少展开操作
  • 连接颜色:用颜色区分生产(红)、预发(黄)、测试(蓝)、本地(绿)环境
  • Redis 专用浏览器:键以表格方式展示,支持 String/Hash/List/Set/ZSet/Stream 全类型编辑
  • MongoDB 浏览器:数据库、集合和分页文档浏览

3.4 AI SQL 助手

说人话就能写 SQL,这是 DBX 最惊艳的功能:

两种模式:

模式 行为 执行
Ask 生成 SQL、解释、修复、优化、方言转换 不自动执行
Agent 用户明确要求查询时,优先生成可执行 SQL 评估后决定是否执行

使用方式:

  1. 在提示中使用 @table@schema.table 告诉 AI 关注哪些表
  2. 用自然语言描述需求,例如「帮我查出最近 7 天注册的用户数量」
  3. AI 自动读取表结构,生成对应查询语句
  4. 生成后检查表名、字段名、筛选条件和影响范围

安全策略:

SQL 类型 DBX 行为
SELECT/WITH/SHOW 等只读语句 Agent 模式可自动执行
INSERT 或低风险 UPDATE 非生产环境自动执行,其他需确认
DELETE/CREATE 等中风险语句 执行前需要确认
DROP/TRUNCATE/ALTER 等危险语句 被 AI 执行策略阻止

支持的供应商:

  • Anthropic(Claude 系列)
  • OpenAI(GPT 系列)
  • 自定义端点(兼容 OpenAI API,如 Ollama 本地模型,数据不出本机)

3.5 ER 图与 Schema 对比

  • ER 图:右键数据库或表,一键生成 ER 关系图,表间主外键关联一目了然,支持缩放和 SVG 导出
  • Schema Diff:对比两个数据库连接之间的表结构差异,直接生成 ALTER SQL,确认后一键同步

Schema Diff 使用流程:

  1. 选择源库(结构较新的数据库)
  2. 选择目标库(需要被同步的数据库)
  3. 执行对比,计算差异
  4. 审查差异(缺失表、字段变化、索引增删)
  5. 生成同步 SQL,确认后执行

3.6 MCP 集成

DBX 实现了 MCP(Model Context Protocol),Claude Code、Cursor、Windsurf 等 AI 编码工具可以直接读取你在 DBX 里配好的数据库连接:

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "dbx": {
      "command": "npx",
      "args": ["-y", "@dbx-app/mcp-server"]
    }
  }
}

在编辑器里直接让 AI 帮你查数据库、调试 SQL,不用来回切换工具。

3.7 其他特性

  • 深色模式:原生深色模式,9 种编辑器主题随意切换
  • 多语言:中文 / 英文 / 西班牙语
  • SSH 隧道:支持连接内网数据库
  • 代理配置:支持 SOCKS5 / HTTP 代理
  • 自动更新:内置自动更新机制
  • 连接 URL 解析:直接粘贴连接 URL,自动解析字段

四、安装指南

macOS(Homebrew)

# 安装
brew install --cask dbx

# 更新
brew upgrade --cask dbx

也可从 GitHub Releases 下载 .dmg 安装包(支持 Apple Silicon 和 Intel)。

Windows

方式一:Scoop 包管理器(推荐)

# 添加 DBX 的 Scoop Bucket
scoop bucket add dbx https://github.com/t8y2/scoop-bucket

# 安装 DBX
scoop install dbx

# 更新
scoop update dbx

方式二:手动下载安装

GitHub Releases 下载安装包:

文件名 说明
DBX_x.x.x_x64-setup.exe Windows x64 标准安装包(推荐)
DBX_x.x.x_x64-webview2-offline-setup.exe 离线安装包(含 WebView2 运行时)
DBX_x.x.x_x64_en-US.msi MSI 安装包
DBX_x.x.x_arm64-setup.exe Windows ARM64 安装包

Linux

GitHub Releases 下载对应安装包:

格式 适用场景
.deb Debian、Ubuntu 及兼容发行版
.AppImage 通用 Linux 桌面环境
# AppImage 需要添加执行权限
chmod +x DBX*.AppImage

Docker 自部署

适合部署在服务器上,团队通过浏览器共享访问:

docker run -d \
  --name dbx \
  -p 4224:4224 \
  -v dbx-data:/app/data \
  t8y2/dbx

启动后访问 http://localhost:4224,支持 amd64 和 arm64。

Docker Compose:

services:
  dbx:
    image: t8y2/dbx
    ports:
      - "4224:4224"
    volumes:
      - dbx-data:/app/data
    restart: unless-stopped

volumes:
  dbx-data:

桌面版 vs Docker 版

模式 适合场景 存储位置
桌面版 本机日常工作、本地文件、原生窗口、MCP 集成 本机应用数据目录
Docker/Web 服务器自托管、浏览器访问、团队共享 Docker volume 或服务器数据目录

五、快速上手

5.1 创建第一个连接

  1. 打开新建连接:在侧边栏或工具栏中点击「新建连接」
  2. 选择数据库类型:从 50+ 种数据库中选择
  3. 填写连接信息
  4. 网络数据库:主机、端口、用户名、密码、默认数据库
  5. 文件型数据库(SQLite、DuckDB、Access):选择本地文件
  6. 快捷方式:直接粘贴连接 URL,DBX 自动解析
  7. 网络选项:如需 SSH 隧道或代理,在对应页签配置
  8. 测试并保存:点击「测试」验证连接,通过后保存

5.2 编写与执行 SQL

  1. 从侧边栏打开连接
  2. 在编辑器中输入 SQL
  3. Ctrl+Enter(Windows)/ Cmd+Enter(macOS)执行
  4. 选中文本时只执行选中部分
  5. 结果显示在下方数据表格中

5.3 浏览与编辑数据

  1. 在侧边栏点击表名,直接打开数据浏览
  2. 双击单元格进入编辑
  3. 右键菜单支持筛选、排序、导出
  4. 保存前查看 SQL 预览,确认无误后执行

5.4 使用 AI 助手

  1. 进入 DBX 设置页,找到 AI 配置
  2. 选择供应商(Anthropic / OpenAI / 自定义端点)
  3. 填写 API Key,保存配置
  4. 在编辑器中使用 @table 提及表名,用自然语言描述需求
  5. AI 生成 SQL 后,审查确认再执行

5.5 配置 MCP 集成

在你的 AI 编码工具配置文件中添加:

{
  "mcpServers": {
    "dbx": {
      "command": "npx",
      "args": ["-y", "@dbx-app/mcp-server"]
    }
  }
}

配置完成后,AI 编码工具即可直接查询 DBX 中已配置的数据库连接。


六、生产环境安全建议

  • 给生产连接起明确名称,如 prod-orders
  • 用连接颜色区分生产(红)、预发(黄)、测试(蓝)、本地(绿)环境
  • 对编辑、导入、Schema 同步生成的 SQL,先审查再执行
  • 大表操作优先使用数据库侧的 WHEREORDER BY
  • 使用 AI 助手时注意 SQL 安全策略,危险语句会被自动阻止

七、从源码运行(开发者)

如果你想参与开发或本地调试:

环境要求:

  • Node.js >= 18
  • pnpm
  • Rust >= 1.77

启动开发环境:

git clone https://github.com/t8y2/dbx.git
cd dbx
pnpm install
pnpm dev:tauri

构建安装包:

pnpm tauri build

安装包输出到 src-tauri/target/release/bundle/


八、总结

DBX 把轻量、多库支持、AI 辅助、MCP 集成这几件事做得很扎实。15MB 的体量,放在 U 盘里随身带着都不占地方。

适合你使用 DBX 的场景:

  • 日常需要频繁操作多种数据库,不想在工具间切来切去
  • 受够了 Java 运行时的启动速度和内存占用
  • 需要国产信创数据库支持
  • 想用 AI 辅助写 SQL,又不想数据外泄
  • 团队需要共享数据库连接配置

不适合的场景:

  • 只用一种数据库且已有趁手工具(没有切换动力)
  • 需要非常复杂的数据库建模和设计功能(DBX 侧重查询和管理)

AGPL-3.0 协议开源,所有功能免费。


相关链接:

XAdmin:一个"开箱即用"的 Flask 全栈后台管理系统 —— 从代码看懂轻量架构的设计哲学 SQLite 上的 N+1 查询:一个被误解了 20 年的"反模式"

评论

0
请遵守社区规范,文明评论。含违禁词的内容将进入审核队列。
0/2000

文章目录

    文章目录