轻量级数据库管理工具WhoDB
什么是 WhoDB ?
WhoDB是一款功能强大、轻量级(约20M)且用户友好的数据库管理工具,它将Adminer的简单性与卓越的用户体验和性能相结合。WhoDB用GoLang编写,速度快、效率高,并具有交互式图表,可直观显示整个数据库架构。无论您管理的是小型项目还是复杂的企业系统,WhoDB都旨在让您的数据库管理任务更顺畅、更直观。
软件特点:
- 登录和身份验证:安全地登录到您的数据库。
- 数据库选择:选择您的数据库类型、用户名、密码和特定数据库。
- 侧边栏导航:访问不同的部分,如登录配置文件、表格模式、表格、图形可视化和便笺簿。
- 表格模式:查看表格的详细模式。
- 表格管理:直接导航到表格,检查基本信息,查看和过滤数据以及导出到
CSV。 - 图形可视化:可视化表格如何互连。
- Scratchpad:使用类似
Jupyter笔记本的体验执行任意SQL查询。 - 内联预览:单击并按住单元格即可预览值(字符串、
JSON或Markdown) - 内联编辑:单击“编辑”图标,轻松编辑更改并立即应用。
- 与您的数据对话:不再浪费时间编写复杂的
SQL查询 - 直接提问! - 广泛的数据库支持:兼容
PostgreSQL、MySQL、SQLite3、MongoDB、Redis、MariaDB和ElasticSearch。 - 增强的用户体验:简洁、直观且易于导航的界面。
- 超快的性能:采用
GoLang构建,具有卓越的速度,包括前端的表虚拟化。

安装
在群晖上以 Docker 方式安装。
在注册表中搜索 whodb ,选择第一个 clidey/whodb,版本选择 latest。
老苏很早就关注了这个项目,
7月份第一次折腾时,latest版本对应为0.9.0,但当时的版本只能使用数据库的默认端口,所以暂时放弃了;11月再次折腾时,latest版本对应为是0.43.0

卷
在 docker 文件夹中,创建一个新文件夹 whodb
这个目录是用来存放需要挂载的 SQLite 数据库的,如果你不打算连 SQLite,不建也可以
假设你要挂载 sample.db ,需将其放入 whodb 根目录,然后用文件方式挂载

| 文件 | 装载路径 | 说明 |
|---|---|---|
docker/whodb/sample.db |
/db/sample.db |
挂载 SQLite 数据库 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
8733 |
8080 |
默认没有对外暴露端口

需要点 + 号自行添加

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 whodb |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 whodb |

运行
在浏览器中输入 http://群晖IP:8733 就能看到设置界面

对比老版本,你会发现左下角多了 Advance 选项

点开你会发现多了 Port 等设置,显然灵活性强了很多

SQLite
假设我们安装时,已经挂载了 sample.db
Database Type:选择Sqlite3Database:下拉会看到我们挂载的sample.db

点 Submit 提交,就会看到数据库的内容

点 Graph 似乎是表之间的关系

MariaDB
以群晖上的 Mariadb 为例,

Database Type:目前支持Posrgres、MySQL、Sqlite3、MongoDB和RedisHost Name:数据库主机Username:数据库用户Password:数据库用户对应的密码Database:数据库库名

点左下角的 Advance

修改默认端口 3306 改为 3307,点 Submit

加载成功后,会显示数据库的内容

AI
点 Houdini 可以进入 AI 聊天模式,按官方的说法,WhoDB 可以为您提供使用自然语言与数据对话的机会。此功能允许您通过对话而不是复杂的 SQL 来执行查询和管理数据。
Houdini是一种通过聊天与数据源进行交互的方式
默认使用的是 ollama ,应该没有检测到老苏安装的 ollama,所以模型显示不可用,但又没有找到设置的地方

尝试添加外部模型 Add External Model

Model Type:支持ChatGPT和AnthropicToken:模型对应的API key

老苏没有 key ,贴张官方的图示意一下

详细使用可以看官方的视频,这里就不展开了
参考文档
clidey/whodb: A lightweight next-gen database explorer - Postgres, MySQL, SQLite, MongoDB, & Redis
地址:https://github.com/clidey/whodbClidey WhoDB
地址:https://whodb.clidey.com/What is WhoDB? | WhoDB Documentation
地址:https://whodb.clidey.com/docs/