跳到主要内容
版本:26.x

连接方式

SelectDB Cloud 兼容 MySQL 网络协议,可以使用 MySQL 命令行客户端、JDBC/ODBC 驱动以及 DBeaver、Navicat 等数据库工具连接仓库。控制台还提供 Stream Load 和 MCP 的连接信息。

获取连接信息​

  1. 登录 SelectDB Cloud 控制台,选择目标仓库,单击左侧导航栏的 连接。
  2. 选择需要使用的网络连接:
    • SaaS 仓库:选择 公网连接;如需使用私网,选择 私网连接 > 私有网络访问 SelectDB,在目标终端节点所在行选择连接方式。
    • BYOC 仓库:在连接页获取仓库地址。客户端需要能够访问该地址所在的网络。
  3. 选择 MySQL CLI、JDBC、Stream Load 或 MCP,查看对应的连接详情和示例,单击复制图标复制所需内容。如果页面提供 FE 分组 选择器,先选择目标 FE 分组,再复制连接信息。
连接方式页面提供的信息
MySQL CLI主机地址、端口、用户名和连接命令。
JDBC主机地址、端口、用户名和 JDBC URL 模板。
Stream Load端点地址、请求 URL 模板,以及 网络要求 中的 HTTP 协议端口和各集群端口。
MCPMCP Server 地址。私网终端节点的连接弹窗不提供 MCP 选项。

如果 BYOC 仓库的连接页提供 Arrow Flight SQL 选项,也可以获取对应连接信息。

连接前检查

  • 公网和私网的连接地址不同,请使用所选网络对应的主机地址和端口。私网客户端必须能够访问终端节点所在的 VPC。
  • 使用公网连接时,需要在仓库的公网 IP 白名单中允许客户端的出口 IP;BYOC 仓库还需要检查云侧安全组、访问控制和路由。具体操作参见网络设置。
  • 仓库数据库账号与控制台账号相互独立。连接页默认展示 admin,也可以使用具有所需权限的其他数据库用户。
  • 密码仅在创建仓库时显示一次。忘记密码时,有权限的管理员可以使用连接页的 重置密码,或在 仓库设置 > 安全 中单击 修改密码。修改后需要同步更新应用程序的连接凭证。
  • 开启 TLS 或 HTTPS 的仓库应使用控制台提供的域名和加密连接参数;通过私网连接时,还需完成对应的内网 DNS 配置。

MySQL Client​

  1. 从 MySQL 官网 下载并安装 MySQL 客户端。SelectDB Cloud 兼容 MySQL 5.7 及以上版本的客户端。

  2. 在控制台连接页选择 MySQL CLI,复制 命令。

  3. 在客户端执行命令,按提示输入数据库用户密码。例如:

    mysql -h <HOST> -P <PORT> -u admin -p

    将 <HOST> 和 <PORT> 替换为控制台提供的主机地址和端口。开启 TLS 时,使用控制台生成的命令,例如:

    mysql -h <HOST> -P <PORT> -u admin -p --ssl-mode=REQUIRED
  4. 出现 mysql> 提示符后,执行 SQL 验证连接:

    SHOW DATABASES;
    SHOW CLUSTERS;

如果连接失败,先检查主机地址、端口、网络可达性、公网 IP 白名单和数据库凭证。例如,以下错误可能与网络或白名单有关,不能仅凭该错误判断原因:

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

MySQL JDBC Connector​

  1. 从 MySQL Connector/J 官网 获取 JDBC 驱动,并添加到 Java 项目的依赖中。
  2. 在控制台连接页选择 JDBC,复制 JDBC URL 模板。
  3. 将模板中的数据库名、用户名和密码占位符替换为实际值。保留控制台提供的主机地址、端口及 TLS 参数。
  4. 在应用程序中建立连接并执行 SQL。

应用程序使用控制台提供的统一连接入口,无需自行枚举多个 FE 节点。数据库名部分支持以下形式:

形式说明
database_name连接指定数据库,使用该用户的默认计算集群。
database_name@cluster_name连接指定数据库,并使用指定计算集群。数据库用户需要具有对应权限。

以下示例通过 JDBC 查询集群信息。连接地址、用户名和密码从环境变量读取:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

String url = System.getenv("SELECTDB_JDBC_URL");
String user = System.getenv("SELECTDB_USER");
String password = System.getenv("SELECTDB_PASSWORD");

try (Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery("SHOW CLUSTERS")) {
int columnCount = result.getMetaData().getColumnCount();
while (result.next()) {
for (int i = 1; i <= columnCount; i++) {
System.out.println(result.getObject(i));
}
}
}

SELECTDB_JDBC_URL 的非加密连接示例为 jdbc:mysql://<HOST>:<PORT>/<DATABASE>@<CLUSTER>。开启 TLS 时,应保留控制台模板中的加密参数,例如 sslMode=REQUIRED;不要使用旧示例中的 useSSL=false 覆盖加密设置。

DBeaver 和 Navicat​

DBeaver​

  1. 在 DBeaver 中新建数据库连接,选择 MySQL。
  2. 使用控制台 MySQL CLI 或 JDBC 连接详情中的主机地址、端口、数据库用户名及密码填写连接配置。按需填写目标数据库。
  3. 如果仓库开启 TLS,在驱动或 SSL 配置中启用对应的加密连接设置。
  4. 测试连接,成功后保存并打开连接。
  1. 在 Navicat 中新建 MySQL 连接。
  2. 填写连接名称,以及控制台提供的主机地址、端口、数据库用户名和密码。
  3. 如果仓库开启 TLS,在 SSL 配置中启用对应的加密连接设置。
  4. 测试连接,成功后保存并打开连接。

Stream Load​

  1. 在控制台连接页选择 Stream Load。
  2. 复制 端点地址 或 请求 URL 模板,将数据库名和表名替换为实际值。
  3. 按 网络要求 放行 HTTP 协议端口和目标集群端口。Stream Load 请求可能重定向到集群端口,客户端必须能够访问重定向后的地址和端口。
  4. 使用具有导入权限的数据库用户提交导入请求。

Stream Load 的请求参数和示例参见 Stream Load。开启 HTTPS 时,使用控制台提供的 HTTPS 地址。

MCP​

在控制台连接页选择 MCP,复制 MCP Server 地址,并使用数据库用户凭证配置 AI 客户端。配置方法参见 SelectDB MCP 快速开始。

其他连接方式​

如果希望直接在浏览器中查询数据,可以单击控制台左侧导航栏的 SQL 编辑器。使用其他 MySQL 兼容工具时,同样使用连接页提供的主机地址、端口和数据库用户凭证。