15.8.2.1 使用 CONNECTION 创建 FEDERATEDtable
要使用第一种方法,必须在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=latin1
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
Note
CONNECTION
替换了 MySQL 早期版本中使用的COMMENT
。
CONNECTION
字符串包含连接到包含将用于物理存储数据的 table 的远程服务器所需的信息。连接字符串指定服务器名称,登录凭据,端口号和数据库/table 信息。在该示例中,远程 table 位于服务器remote_host
上,使用端口 9306.名称和端口号应与要用作远程 table 的远程 MySQL 服务器实例的主机名(或 IP 地址)和端口号匹配。
连接字符串的格式如下:
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
Where:
-
scheme
:公认的连接协议。此时仅支持mysql
作为scheme
*值。
-
password
* :(可选)*user_name
*的相应密码。
-
host_name
*:远程服务器的主机名或 IP 地址。
-
port_num
* :(可选)远程服务器的端口号。默认值为 3306.
-
db_name
*:保存远程 table 的数据库的名称。
-
tbl_name
*:远程 table 的名称。本地 table 和远程 table 的名称不必匹配。
示例连接字符串:
CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'