15.1.18 创建服务器语句
CREATE SERVER server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)
option: {
HOST character-literal
| DATABASE character-literal
| USER character-literal
| PASSWORD character-literal
| SOCKET character-literal
| OWNER character-literal
| PORT numeric-literal
}
该语句创建了一个用于FEDERATED存储引擎的服务器定义。CREATE SERVER
语句在 mysql
数据库中的 servers
表中创建了一行记录。这条语句需要SUPER
特权。
服务器名称
应该是唯一的引用。服务器定义在服务器范围内全局有效,不可能将其限定到某个数据库中。server_name
的最大长度为 64 个字符(超过 64 个字符的名称将被静默截断),并且是大小写不敏感。您可以指定名称作为带引号的字符串。server_name
包装器名称
是一个标识符,可以用单引号括起来。wrapper_name
对于每个
,您必须指定字符字面量或数字字面量。字符字面量是 UTF-8,支持的最大长度为 64 个字符,默认为空字符串。字符串字面量将被静默截断到 64 个字符。数字字面量必须是一个介于 0 和 9999 之间的数字,缺省值为 0。option
当前OWNER
选项无效,对服务器连接的所有权或操作没有影响。
创建服务器语句(CREATE SERVER
)创建一个可以在创建 CREATE TABLE
语句中使用的 mysql.servers 表的条目。您指定的选项将用来填充 mysql.servers 表中的列。该表的列是 Server_name
、Host
、Db
、Username
、Password
、Port
和 Socket
。
例如:
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '198.51.100.106', DATABASE 'test');
一定要指定所有必要的选项,以建立服务器连接。用户名、主机名和数据库名是必需的。其他选项也可能需要,例如密码。
表中的数据可以在创建 FEDERATED
表时使用:
CREATE TABLE t (s1 INT) ENGINE=FEDERATED CONNECTION='s';
更多信息,请见第18.8节,“FEDERATED 存储引擎”。
CREATE SERVER
语句会隐式提交。见第15.3.3节,“隐式提交语句”。
CREATE SERVER
语句不管使用什么日志格式都不会被写入到二进制日志中。