跳到主要内容

DBeaver

DBeaver 是一款跨平台数据库工具,适用于开发人员、数据库管理员、分析师以及所有处理数据的用户。

Apache Doris 可通过 MySQL 协议对外提供查询服务。在包含 Apache Doris 驱动的 DBeaver 版本中,可以直接使用 Apache Doris 数据源入口连接 Doris,并查询 internal catalog 和 external catalog 中的数据。

如果当前 DBeaver 版本中没有 Apache Doris 驱动入口,也可以通过 MySQL 驱动连接 Apache Doris。具体操作请参考使用 MySQL 驱动连接 Doris

适用场景

  • 通过可视化界面浏览 Apache Doris 的 catalog、database、table、view 等元数据。
  • 使用 SQL 编辑器执行查询、分析数据。
  • 在同一工具中管理 internal catalog 与 external catalog。
  • 查看会话、系统变量、用户权限等运行信息。

前置条件

  • 已安装 DBeaver 26.1.1 或更高版本,下载地址:https://dbeaver.com
  • 可访问 Apache Doris 集群,并已知 FE 主机地址、MySQL 协议端口、账号与密码。
  • 若需通过 catalog.db 形式连接 external catalog,Doris 版本需为 2.1.0 及以上。

操作步骤

使用 Apache Doris 驱动连接 Doris(推荐)

版本要求

DBeaver 需要升级到 26.1.1 或更高版本。

步骤 1:新建数据库连接

启动 DBeaver。

在窗口左上角单击加号(+)图标,或在菜单栏选择 Database > New Database Connection,打开 Connect to a database 界面。

新建数据库连接

步骤 2:选择 Apache Doris 驱动

Select your database 窗口中搜索或选择 Apache Doris,然后单击 Next

选择 Apache Doris 驱动

步骤 3:配置 Doris 连接信息

Apache Doris connection settings 窗口的 Main 标签页填写以下连接信息:

配置项说明示例
HostDoris 集群的 FE 主机地址。如果使用 SSH 隧道,填写本地转发地址。127.0.0.1
PortDoris 集群的 FE MySQL 协议端口。如果使用 SSH 隧道,填写本地转发端口。903019030
Database/Schema可选。Doris 集群中的目标 database,也可使用 catalog.db 形式连接 external catalog。example_dbhive.example_db
Username用于登录 Doris 集群的用户名。admin
Password用于登录 Doris 集群的用户密码。-

Database/Schema 字段可用于区分 internal catalog 与 external catalog:

  • 留空:连接建立后在 DBeaver 的 Database Navigator 中浏览 catalog 和 database。
  • 仅填写 database 名称:当前数据源默认连接 internal catalog 下的指定 database。
  • 填写格式为 catalog.db:当前数据源默认连接所指定 catalog 下的指定 database,DBeaver 中展示的库表也为该 catalog 中的库表。
备注

通过 catalog.db 形式连接 Doris 的 external catalog 需要 Doris 版本在 2.1.0 及以上。

连接 internal catalog:

连接 internal catalog

连接 external catalog:

连接 external catalog

如需通过 DBeaver 内置 SSH 功能连接,可以单击右上角 SSH, Proxy 配置 SSH 隧道。如果已在本机提前建立端口转发,则在 HostPort 中填写本地转发地址和端口。

步骤 4:测试并保存连接

填写完连接信息后,单击左下角 Test Connection 验证连接信息的准确性。

DBeaver 弹出确认对话框后,单击 OK 确认配置无误。

单击右下角 Finish 完成连接配置。

测试 Apache Doris 驱动连接

步骤 5:连接并管理数据库

数据库连接建立完成后,可在左侧的数据库连接导航栏看到已创建的数据源,并通过 DBeaver 浏览 Doris catalog、database、table、view 等对象。

浏览 Doris 数据库对象

配置 Driver Properties

Apache Doris 驱动底层使用 MySQL Connector/J 连接 Doris FE 的 MySQL 协议端口。驱动默认端口为 9030,默认用户为 root,JDBC URL 模板如下:

jdbc:mysql://{host}[:{port}]/[{database}]

驱动类为:

com.mysql.cj.jdbc.Driver

常见默认参数如下:

connectTimeout=20000
rewriteBatchedStatements=true
useSSL=false
enabledTLSProtocols=TLSv1.2,TLSv1.3

配置 Apache Doris 驱动属性

useSSL=false 表示默认不启用 TLS/SSL。若 Doris FE 的 MySQL 协议端口已正确开启 TLS,并且证书链配置正确,可在 DBeaver 的 Driver properties 中配置 MySQL Connector/J 的 SSL 参数,例如:

useSSL=true
sslMode=REQUIRED

如需校验证书,可配置 Java truststore,并使用:

sslMode=VERIFY_CA
trustCertificateKeyStoreUrl=file:/path/to/doris-truststore.jks
trustCertificateKeyStorePassword=<password>

如需同时校验服务端主机名,可使用:

sslMode=VERIFY_IDENTITY

使用 VERIFY_IDENTITY 时,DBeaver 中填写的 Host 必须和服务端证书的 SAN/CN 匹配。

使用 MySQL 驱动连接 Doris

如果当前 DBeaver 版本中没有 Apache Doris 驱动入口,可以通过 MySQL 驱动连接 Apache Doris。

步骤 1:新建数据库连接

启动 DBeaver。

在窗口左上角单击加号(+)图标,或在菜单栏选择 Database > New Database Connection,打开 Connect to a database 界面。

新建 MySQL 数据库连接

步骤 2:选择 MySQL 驱动

Select your database 窗口中选择 MySQL

步骤 3:配置 Doris 连接信息

Connection Settings 窗口的 Main 标签页填写以下连接信息:

配置项说明示例
Server HostDoris 集群的 FE 主机 IP 地址。127.0.0.1
PortDoris 集群的 FE MySQL 协议端口。9030
DatabaseDoris 集群中的目标 database,也可使用 catalog.db 形式连接 external catalog。example_dbhive.example_db
Username用于登录 Doris 集群的用户名。admin
Password用于登录 Doris 集群的用户密码。-

Database 字段可用于区分 internal catalog 与 external catalog:

  • 仅填写 database 名称:当前数据源默认连接 internal catalog。
  • 填写格式为 catalog.db:当前数据源默认连接所指定 catalog,DBeaver 中展示的库表也为该 catalog 中的库表。

因此,可通过创建多个 Doris 数据源来分别管理不同的 catalog。

备注

通过 catalog.db 形式连接 Doris 的 external catalog 需要 Doris 版本在 2.1.0 及以上。

连接 internal catalog:

通过 MySQL 驱动连接 internal catalog

连接 external catalog:

通过 MySQL 驱动连接 external catalog

步骤 4:测试并保存连接

填写完连接信息后,单击左下角 Test Connection 验证连接信息的准确性。

DBeaver 弹出确认对话框后,单击 OK 确认配置无误。

测试 MySQL 驱动连接

单击右下角 Finish 完成连接配置。

步骤 5:连接并管理数据库

数据库连接建立完成后,可在左侧的数据库连接导航栏看到已创建的数据源,并通过 DBeaver 进行连接与管理。

通过 MySQL 驱动管理数据库

驱动选择与功能支持

如何选择驱动

Apache Doris 驱动和 MySQL 驱动均通过 Doris FE 的 MySQL 协议端口连接 Doris。两个驱动的主要区别在于 DBeaver 的元数据模型、对象导航结构和管理功能入口。

推荐按以下原则选择驱动:

使用需求推荐选择
日常连接 Doris、执行 SQL、浏览库表Apache Doris 驱动
在同一连接中浏览 internal catalog 和多个 external catalogApache Doris 驱动
当前 DBeaver 中没有 Apache Doris 数据源入口MySQL 驱动
查看 Users、Session Manager 和 System InfoMySQL 驱动

如果只操作 internal catalog,两个驱动均可用于连接和执行 SQL,但推荐优先使用 Apache Doris 驱动。

功能对比

功能Apache Doris 驱动MySQL 驱动
连接 Doris、执行 SQL支持支持
浏览 internal catalog支持支持
在同一连接中浏览多个 catalog支持不支持
在 Database Navigator 中浏览 external catalog支持不支持
使用 catalog.db 作为 SQL 默认上下文支持支持
查看表、视图、字段和 DDL支持支持
SQL 编辑器、SQL 控制台支持支持
可视化查看数据支持支持
可视化新增数据支持支持
查看 Users、Session Manager 和 System Info不支持支持
Tools > Analyse不支持支持
Tools > Truncate不支持支持
说明

本表采用支持能力白名单:

  • 只有表格中明确标记为“支持”的功能属于本文支持范围。
  • 表格未列出的 DBeaver 可视化操作和管理功能均不支持。
  • 使用 MySQL 驱动时,DBeaver 界面中出现某个 MySQL 功能入口,不代表 Doris 支持该功能。
  • Users、Session Manager 和 System Info 仅支持查看,不支持通过 DBeaver 修改用户、权限或会话。
  • AnalyseTruncate 的支持状态仅指 MySQL 驱动中的 DBeaver Tools 菜单。使用 Apache Doris 驱动时,可以在 SQL 编辑器中执行相应的 Doris SQL。

重要限制

两个驱动均不支持以下操作:

  • 可视化修改或删除已有数据。
  • 可视化创建表。
  • 可视化新增或修改字段。
  • 可视化创建或修改 Index。
  • 可视化创建 Foreign Key 和 Trigger。
  • 可视化配置 Key Model、分区、分桶、副本数和表属性。
  • Session Status、Global Status 和 Dashboard。
  • Check、Optimize、Repair 和 Dump database。

建议通过 SQL 编辑器执行 Doris 表结构变更以及已有数据的更新和删除。