Apache Doris 采用 MySQL 网络连接协议,兼容 MySQL 生态的命令行工具、JDBC/ODBC 和各种可视化工具。同时 Apache Doris 也内置了一个简单的 Web UI,方便使用。下面分别介绍如何通过 MySQL Client、MySQL JDBC Connector、DBeaver 和 Doris 内置的 Web UI 来连接 Doris。

MySQL Client

从 MySQL 官方网站下载 MySQL Client,或者下载我们提供的 Linux 上免安装的 MySQL 客户端。当前 Doris 主要兼容 MySQL 5.7 及其以上的客户端。

解压下载的 MySQL 客户端,在 bin/ 目录下可以找到 mysql 命令行工具。然后执行下面的命令连接 Doris。

  1. # FE_IP 为 FE 的监听地址, FE_QUERY_PORT 为 FE 的 MYSQL 协议服务的端口,在 fe.conf 中对应 query_port, 默认为 9030.
  2. mysql -h FE_IP -P FE_QUERY_PORT -u USER_NAME

登录后,显示如下。

  1. Welcome to the MySQL monitor. Commands end with ; or \g.
  2. Your MySQL connection id is 236
  3. Server version: 5.7.99 Doris version doris-2.0.3-rc06-37d31a5
  4. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  5. Oracle is a registered trademark of Oracle Corporation and/or its
  6. affiliates. Other names may be trademarks of their respective
  7. owners.
  8. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  9. mysql>

MySQL JDBC Connector

请在 MySQL 官方网站下载相应的 JDBC Connector。

连接代码示例如下:

  1. String user = "user_name";
  2. String password = "user_password";
  3. String newUrl = "jdbc:mysql://FE_IP:FE_PORT/demo?useUnicode=true&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true";
  4. try {
  5. Connection myCon = DriverManager.getConnection(newUrl, user, password);
  6. Statement stmt = myCon.createStatement();
  7. ResultSet result = stmt.executeQuery("show databases");
  8. ResultSetMetaData metaData = result.getMetaData();
  9. int columnCount = metaData.getColumnCount();
  10. while (result.next()) {
  11. for (int i = 1; i <= columnCount; i++) {
  12. System.out.println(result.getObject(i));
  13. }
  14. }
  15. } catch (SQLException e) {
  16. log.error("get JDBC connection exception.", e);
  17. }

DBeaver

创建一个到 Apache Doris 的 MySQL 连接:

创建到 Apache Doris 的 MySQL 连接

在 DBeaver 中进行查询:

DBeaver Connect

Doris 内置的 Web UI

Doris FE 内置 Web UI。用户无须安装 MySQL 客户端,即可通过内置的 Web UI 进行 SQL 查询和其它相关信息的查看。

在浏览器中输入 http://fe\_ip:fe\_port, 比如 http://172.20.63.118:8030,打开 Doris 内置的 Web 控制台。

内置 Web 控制台,主要供集群 root 账户使用,默认安装后 root 账户密码为空。

WebUI

比如,在 Playground 中,执行如下语句,可以完成对 BE 节点的添加。

  1. ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";

Playground

数据库连接 - 图5警告

Playground 中执行这种和具体数据库/表没有关系的语句,务必在左侧库栏里随意选择一个数据库,才能执行成功,这个限制,稍后会去掉。

当前内置的 Web 控制台,还不能执行 SET 类型的 SQL 语句,所以,在 Web 控制台,当前还不能通过执行 SET PASSWORD FOR ‘user’ = PASSWORD(‘user_password’) `类似语句。