全部产品
Search
文档中心

云原生数据库 PolarDB:数据源管理

更新时间:Nov 04, 2026

数据源连接(SERVER)保存访问 Lance 数据集所需的地址、访问方式和凭据,可供多个外表映射共享。每张外表通过 server:// CONNECTION 指定数据集具体访问路径。

适用范围与接入方式选择

已满足适用范围,使用读写节点(RW)主地址执行 SERVER 管理操作,并选择目标数据库,账号需要具有 SERVERS_ADMIN 权限。接入方式如下表所示,每个 SERVER 选择一种接入方式,并提供该方式所需的完整配置。

方式

适用场景

通过 OSS 元数据文件接入(Direct OSS)

已知数据集在 OSS 路径,直接读取。

通过 Directory Namespace 接入

基于 Directory Namespace 规范,在 OSS 上解析表位置。

通过 REST Namespace 接入

通过 REST 服务发现数据集位置和访问配置。

创建 SERVER

执行以下语句创建数据源连接。请按下表参数说明,替换示例中的名称(example_server)和连接配置(YOUR_CONNECTION_OPTIONS_JSON)。

CREATE SERVER example_server
FOREIGN DATA WRAPPER lance
OPTIONS (EXTRA_SERVER_INFO 'YOUR_CONNECTION_OPTIONS_JSON');

参数说明

参数或语法项

填写要求

说明

SERVER 名称(example_server)

必填

数据源名称,在集群内唯一、不区分大小写,长度不超过 64 个字符。example_server 为占位名称,请按实际情况替换。

FOREIGN DATA WRAPPER

必填

固定填写 lance,表示创建 Lance 数据源连接。

EXTRA_SERVER_INFO

必填

连接参数的 JSON 对象。将 YOUR_CONNECTION_OPTIONS_JSON 替换为所选接入方式的完整配置。

查看 SERVER

执行以下语句查看名称和类型,Wrapper 应为 lance。查询 mysql.servers 需要 SERVERS_ADMIN 权限。

SET SESSION use_imci_engine = OFF;

SELECT Server_name, Wrapper
FROM mysql.servers
WHERE Server_name = 'example_server';

修改 SERVER 与轮换凭据

执行以下语句修改 SERVER 配置。修改 EXTRA_SERVER_INFO 会整体替换原配置,并影响引用该 SERVER 的全部外表。因此,请基于原有完整连接配置,修改必要字段,并保留所有仍需使用的字段,最后将新配置替换到 YOUR_UPDATED_CONNECTION_OPTIONS_JSON。

ALTER SERVER example_server
OPTIONS (EXTRA_SERVER_INFO 'YOUR_UPDATED_CONNECTION_OPTIONS_JSON');

SERVER 手工配置的凭据,如有到期时间,需在到期前轮换,正在执行的查询不会自动续期。轮换凭据时,AccessKey ID 和 AccessKey Secret 必须成组更新。使用 STS(Security Token Service)时,还需提供同组 token。

执行 ALTER SERVER 后,新语句自动加载更新后的配置,无需执行 FLUSH TABLES;已开始执行的语句继续使用原有 SERVER 配置。修改完成后,切换到目标外表所在的数据库,执行查询验证(如以下示例查询)。以下以已创建并引用待验证 SERVER 的 example_table 外表为例。

SET SESSION use_imci_engine = OFF;

SHOW CREATE TABLE example_table;
SELECT * FROM example_table LIMIT 10;

删除 SERVER

停止使用相关外表后,先使用 DROP FOREIGN TABLE 删除所有引用该 SERVER 的外表,再使用 DROP SERVER 删除数据源连接(SERVER)。删除外表和 SERVER 不会删除 OSS 数据,仍引用已删除 SERVER 的外表无法正常读取。

DROP FOREIGN TABLE example_table;
DROP SERVER example_server;