轻量级数据库管理工具WhoDB

什么是 WhoDB ? 

WhoDB 是一款功能强大、轻量级(约 20M)且用户友好的数据库管理工具,它将 Adminer 的简单性与卓越的用户体验和性能相结合。WhoDBGoLang 编写,速度快、效率高,并具有交互式图表,可直观显示整个数据库架构。无论您管理的是小型项目还是复杂的企业系统,WhoDB 都旨在让您的数据库管理任务更顺畅、更直观。

软件特点:

  • 登录和身份验证:安全地登录到您的数据库。
  • 数据库选择:选择您的数据库类型、用户名、密码和特定数据库。
  • 侧边栏导航:访问不同的部分,如登录配置文件、表格模式、表格、图形可视化和便笺簿。
  • 表格模式:查看表格的详细模式。
  • 表格管理:直接导航到表格,检查基本信息,查看和过滤数据以及导出到 CSV
  • 图形可视化:可视化表格如何互连。
  • Scratchpad:使用类似 Jupyter 笔记本的体验执行任意 SQL 查询。
  • 内联预览:单击并按住单元格即可预览值(字符串、JSONMarkdown
  • 内联编辑:单击“编辑”图标,轻松编辑更改并立即应用。
  • 与您的数据对话:不再浪费时间编写复杂的 SQL 查询 - 直接提问!
  • 广泛的数据库支持:兼容 PostgreSQLMySQLSQLite3MongoDBRedisMariaDBElasticSearch
  • 增强的用户体验:简洁、直观且易于导航的界面。
  • 超快的性能:采用 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
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8733 8080

默认没有对外暴露端口

需要点 + 号自行添加

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 新建文件夹 whodb 
mkdir -p /volume1/docker/whodb

# 进入 whodb 目录
cd /volume1/docker/whodb

# 运行容器
docker run -d \
--restart unless-stopped \
--name whodb \
-p 8733:8080 \
clidey/whodb

# 运行容器(挂载 SQLite)
docker run -d \
--restart unless-stopped \
--name whodb \
-p 8733:8080 \
-v $(pwd)/sample.db:/db/sample.db \
clidey/whodb

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'

services:
whodb:
image: clidey/whodb
container_name: whodb
restart: unless-stopped
ports:
- 8733:8080
volumes: # (optional for sqlite)
- ./sample.db:/db/sample.db

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 whodb 
mkdir -p /volume1/docker/whodb

# 进入 whodb 目录
cd /volume1/docker/whodb

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

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

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

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

SQLite

假设我们安装时,已经挂载了 sample.db

  • Database Type:选择 Sqlite3
  • Database:下拉会看到我们挂载的 sample.db

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

Graph 似乎是表之间的关系

MariaDB

以群晖上的 Mariadb 为例,

  • Database Type:目前支持 PosrgresMySQLSqlite3MongoDBRedis
  • Host Name:数据库主机
  • Username:数据库用户
  • Password:数据库用户对应的密码
  • Database:数据库库名

点左下角的 Advance

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

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

AI

Houdini 可以进入 AI 聊天模式,按官方的说法,WhoDB 可以为您提供使用自然语言与数据对话的机会。此功能允许您通过对话而不是复杂的 SQL 来执行查询和管理数据。

Houdini 是一种通过聊天与数据源进行交互的方式

默认使用的是 ollama ,应该没有检测到老苏安装的 ollama,所以模型显示不可用,但又没有找到设置的地方

尝试添加外部模型 Add External Model

  • Model Type:支持 ChatGPTAnthropic
  • Token:模型对应的 API key

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

详细使用可以看官方的视频,这里就不展开了

参考文档

clidey/whodb: A lightweight next-gen database explorer - Postgres, MySQL, SQLite, MongoDB, & Redis
地址:https://github.com/clidey/whodb

Clidey WhoDB
地址:https://whodb.clidey.com/

What is WhoDB? | WhoDB Documentation
地址:https://whodb.clidey.com/docs/