我做了一个开源的跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch 等 10+ 种数据库,还有 AI SQL 助手。今天来介绍一下。
为什么做这个?
用了多年 Navicat / DBeaver / DataGrip,各有各的痛点:
- Navicat 要付费,而且 UI 多年没怎么变
- DBeaver 基于 Java,启动慢、内存占用高
- DataGrip 功能强但太重,订阅制
我想要一个轻量、好看、免费的数据库工具,于是用 Tauri + Vue 3 + Rust 做了 DBX。
长什么样?
核心功能
多数据库支持
直接支持:MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch
兼容支持:MariaDB、TiDB、OceanBase、Doris、SelectDB、StarRocks、CockroachDB、TDengine、openGauss、GaussDB、KingBase、Vastbase、Redshift 等 20+ 种
SQL 编辑器
- 语法高亮(GitHub Light/Dark 主题,跟随系统自动切换)
- 智能补全(表名、列名、SQL 关键字)
- SQL 格式化
- 选中部分执行
- Cmd/Ctrl + 滚轮缩放字体
数据表格
- 虚拟滚动 — 万行数据流畅不卡
- 行内编辑 — 双击单元格直接改,支持批量保存
- 矩形选区 — 鼠标拖拽选中区域,复制为 TSV/CSV/JSON/SQL
- 转置查看 — 一行数据竖着看,列多时很实用
- 单元格详情 — 查看列类型、值长度、格式化 JSON
- 排序、搜索、分页、导出 CSV/JSON/Markdown
AI SQL 助手
- 用自然语言描述需求,AI 自动生成 SQL
- 支持 OpenAI、Claude、以及任何兼容 /chat/completions 或 /responses 的第三方 API
- 解释 SQL、优化 SQL、修复错误、转换方言、生成样例数据
- 自动读取数据库 schema 作为上下文
数据传输
在不同数据库之间迁移数据,支持跨数据库类型(比如 MySQL → PostgreSQL),自动建表、批量插入、进度展示。
数据库结构对比
选择两个数据库,自动对比表结构差异(新增/删除/修改的表和列),生成同步 SQL(ALTER/CREATE/DROP),确认后一键执行。
表数据 & 结构导出
右键表节点:
- 导出数据为 CSV / JSON / SQL INSERT
- 导出表结构为 CREATE TABLE .sql 文件
SSH 隧道
内置 SSH 隧道(纯 Rust 实现,不依赖外部工具),支持密码和密钥认证,可选择是否开放给局域网。
其他
- 连接颜色标识
- 标签页置顶
- 查询历史
- 危险操作二次确认(DROP/DELETE/TRUNCATE)
- IPv6 支持
- 国际化(中文/英文)
技术栈
| 层 | 技术 |
|---|---|
| 前端 | Vue 3 + TypeScript + Tailwind CSS + shadcn-vue |
| 后端 | Rust + Tauri 2.0 |
| 数据库驱动 | sqlx (MySQL/PG/SQLite)、tiberius (SQL Server)、mongodb、redis、duckdb、clickhouse (HTTP)、oracle |
| SSH | russh(纯 Rust 异步 SSH 库) |
| 编辑器 | CodeMirror 6 + GitHub 主题 |
安装包大小约 25MB,内存占用约 80MB,比 Electron 应用轻得多。
安装
macOS (Homebrew):
brew install --cask t8y2/tap/dbx
Windows (Scoop):
scoop bucket add dbx https://github.com/t8y2/scoop-bucket
scoop install dbx
或者直接去 GitHub Releases 下载。
开源地址
GitHub: github.com/t8y2/dbx
MIT 协议,完全免费开源。欢迎 Star、Issue、PR。
如果你也在找一个轻量好用的数据库管理工具,试试 DBX 吧。有任何问题或建议欢迎在评论区交流,或者直接去 GitHub 提 issue。