通过开源数据库管理工具 DBeaver 连接 TDengine
DBeaver 是一款流行、开源的数据库管理工具以及 SQL 客户端,其功能强大,并且支持任何拥有 JDBC-Driver 的数据库(这意味着几乎所有数据库都支持)。 其官网的介绍是这样的:
Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Apache Hive, Phoenix, Presto, etc.
只需要简单的配置即可使用 DBeaver 来连接、管理 TDengine。
前置条件
- DBeaver 依赖 Java (JDK) 11 ,不过其安装包中已包含。可选安装 Maven、Git。
- 已安装并启动了 TDengine。
- 若使用原生连接(选择 TSDBDriver 驱动类),请在本地安装 TDengine 客户端。
- 若使用 REST 连接(选择 RestfulDriver 驱动类),请确保 taosAdapter 已经正常运行。
配置步骤
- 可以克隆 DBeaver 在 GitHub 上的源码,执行
mvn package
,也可以直接下载打包好的安装包。此处选择直接下载安装包。 - 在 GitHub DBeaver 仓库的 Releases 处下载对应版本的 DBeaver,比如系统为 macOS,处理器芯片是 M1 ,此处下载 dbeaver-ce-22.1.2-macos-aarch64.dmg 进行安装。推荐使用 22.1.2 版本的 DBeaver,后续版本未进行验证。
- 点击数据库标签,选择驱动管理器:
- 新建驱动,选择 TDengine 的 JDBC Connector 驱动包(其中的 dist.jar 包),此驱动包可以下载或者自行编译、打包,参考 IDEA-源码编译 JDBC-Connector:
- 添加后点击找到类,此处使用 RESTful 驱动类演示(注意:若使用 com.taosdata.jdbc.TSDBDriver 驱动类,则需要安装 TDengine 客户端):
- 填写一下驱动名称,简单填下配置:
-
TDengine 的 JDBC URL 规范为:
jdbc:[TAOS|TAOS-RS]://[host_name]:[port]/[database_name]?[user={user}|&password={password}|&charset={charset}|&cfgdir={config_dir}|&locale={locale}|&timezone={timezone}]
-
点击“新建连接”,搜索配置好的驱动名称,点击后进入下一步:
- 输入密码后,点击“测试连接”(注:需要在本机 hosts 文件上添加 URL 内域名的解析,URL 内的 locale、timezone 参数在 RESTful 连接中不生效):
验证方法
- 点击“测试连接”若弹出“已连接”的提示代表连接成功。界面左侧能看到刷新出来的数据库,点击特定的表可以查看表的结构及数据:
- 点击界面左上方的新建 SQL 编辑器,默认,输入 SQL 进行验证。需要注意的是,RESTful 请求是无状态的,查询、写入需要在表名前带上数据库名。
- 2.X 版本中默认带 log 库,我们可以使用
SHOW log.stables;
查看包含哪些超级表后对特定表进行查询、调试:
- 可以看到有个超级表叫做 dnodes_info,执行
describe log.dnodes_info;
查看表结构:
- 再执行
select last_row(*) from log.dnodes_info group by dnode_id;
通过 dnode_id 能分组查询各 dnode_id 下的最新一条数据:
- 还有其他操作也可以自行测试,比如写入一条数据后进行查询:
好了,到这里我们就大功告成了。DBeaver 功能强大,其他常用功能还包括导入导出 SQL 脚本、配置表过滤器、建立数据库任务等,大家可以慢慢体验。