相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  使用 CONNECTION 创建 FEDERATED 表

18.8.2.1 使用 CONNECTION 创建 FEDERATED 表

要使用第一种方法,您必须在 CREATE TABLE 语句中,在引擎类型之后指定 CONNECTION 字符串。例如

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=utf8mb4
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
注意

CONNECTION 替换了 MySQL 某些早期版本中使用的 COMMENT

CONNECTION 字符串包含连接到包含实际数据的远程服务器所需的的信息。连接字符串指定服务器名称、登录凭据、端口号和数据库/表信息。在本例中,远程表位于服务器 remote_host 上,使用端口 9306。名称和端口号应与您要作为远程表的远程 MySQL 服务器实例的主机名(或 IP 地址)和端口号匹配。

连接字符串的格式如下

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name

其中

  • scheme:已知的连接协议。目前仅支持 mysql 作为 scheme 值。

  • user_name:连接的用户名。此用户必须在远程服务器上创建,并且必须拥有执行所需操作(SELECTINSERTUPDATE 等)的权限。远程表。

  • password:(可选) user_name 的对应密码。

  • host_name:远程服务器的主机名或 IP 地址。

  • port_num:(可选) 远程服务器的端口号。默认值为 3306。

  • db_name:包含远程表的数据库的名称。

  • tbl_name:远程表的名称。本地表和远程表的名称不必匹配。

示例连接字符串

CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'