SelectDB Cloud
管理指南
连接仓库
连接方式

连接方式

SelectDB 采用了 MySQL 网络连接协议,所以兼容 MySQL 生态的命令行工具、JDBC/ODBC 和可视化工具等,都可以连接访问 SelectDB。下面以 MySQL Client, MySQL JDBC Connector 和 DBeaver/Navicat 为例来说明。

MySQL Client

从 MySQL 官方网站下载 MySQL Client,或者下载我们提供的免安装 Linux 版的 MySQL 客户端 (opens in a new tab)。当前 SelectDB 主要兼容 MySQL 5.7 及其以上的客户端。

从 SelectDB Cloud 的管理控制台中相应仓库下的“连接”菜单里,获得连接相关的信息。

注意:

  1. 仓库支持公网连接和私网连接(Privatelink),不同的连接方式,连接信息不同。
  2. 如果开启了 IP 白名单,需要让管理员将客户端的 IP 加入仓库连接的白名单。
  3. SelectDB Cloud 支持用户初始化仓库 admin 用户的密码。用户可以在管理控制台相应仓库的 设置 页修改密码。

假如我们要连接的仓库公网连接如下:

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

mysql -h 59.110.153.154 -P 30622 -u admin 

登录后,如果显示如下,一般是由于你客户端的 IP 未加入到管理控制台的连接白名单中。

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2

显示如下,则代表你连接成功了。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 119952
Server version: 5.7.37 SelectDB Core version: 2.0.0
 
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> 

MySQL JDBC Connector

请在 MySQL 官方网站下载相应的 JDBC Connector,然后根据控制台连接信息中的 JDBC 连接信息来配置连接。

在开源 Apache Doris 中,经常需要配置多个 FE 节点地址,以便提供高可用的 FE 服务。在 SelectDB Cloud 中,无需配置多个 FE 的节点地址,只需要使用控制台给出的单一 IP。这个 IP 为负载均衡器 IP,后端有多个服务器提供服务,可保证负载均衡与高可用。

下面通过 JDBC 来连接我们的仓库,并且显示当前仓库下的所有 cluster 信息。

在 JDBC 中,原来传递 database name 的地方,我们可以传递使用的集群名参数。

  1. database_name, 比如 jdbc:mysql://59.110.153.154:30622/test,那么会使用数据库 test,使用用户的默认计算集群。
  2. database_name@cluster_name, 比如 jdbc:mysql://59.110.153.154:30622/test@cluster1,那么会使用数据库 test,使用计算集群 cluster1。
String user = "admin";
String password = "admin_password";

String newUrl = "jdbc:mysql://59.110.153.154:30622/test@cluster1?useUnicode=true&characterEncoding=utf8&useTimezone=true&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true";
try {
    Connection myCon = DriverManager.getConnection(newUrl, user, password);
    Statement stmt = myCon.createStatement();
    ResultSet result = stmt.executeQuery("show clusters");
    ResultSetMetaData metaData = result.getMetaData();
    int columnCount = metaData.getColumnCount();
    while (result.next()) {
        for (int i = 1; i <= columnCount; i++) {
            System.out.println(result.getObject(i));
        }
    }
} catch (SQLException e) {
    log.error("get JDBC connection exception.", e);
}

DBeaver 和 Navicat

DBeaver

创建一个到 SelectDB 仓库的 MySQL 连接。

测试连接成功。

Navicat

创建一个到 SelectDB 仓库的 MySQL 连接。

测试连接成功

其他连接方式

SelectDB 虽然高度兼容 MySQL 协议和使用方式,但是这些原生面向 MySQL 设计的客户端工具或者 GUI工具,主要还是为了管理 MySQL 数据库,在与 SelectDB 交互时,体验会有所欠缺。所以,SelectDB 开发了体验友好的可视化 WebUI 工具(SelectDB WebUI),请参考 WebUI 章节。

© 2023 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标