13.1.17 CREATE SERVER 语句
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
table 中创建新行。此语句需要SUPER特权。
server_name
应该是服务器的唯一引用。服务器定义在服务器范围内是全局的,因此无法将服务器定义限定为特定的数据库。 server_name
的最大长度为 64 个字符(长于 64 个字符的名称会被自动截断),并且不区分大小写。您可以将名称指定为带引号的字符串。
wrapper_name
是一个标识符,可以用单引号引起来。
对于每个option
,您必须指定字符 Literals 或数字 Literals。字符 Literals 为 UTF-8,最大长度为 64 个字符,默认为空白(空)字符串。字符串 Literals 被静默地截断为 64 个字符。数字 Literals 必须是 0 到 9999 之间的数字,默认值为 0.
Note
OWNER
选项当前未应用,并且对创建的服务器连接的所有权或操作没有影响。
CREATE SERVER
语句在mysql.servers
table 中创建一个条目,以后可在创建FEDERATED
table 时与CREATE TABLE语句一起使用。您指定的选项将用于填充mysql.servers
table 中的列。table 格列是Server_name
,Host
,Db
,Username
,Password
,Port
和Socket
。
For example:
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '198.51.100.106', DATABASE 'test');
确保指定与服务器构建连接所需的所有选项。用户名,主机名和数据库名是必需的。可能还需要其他选项,例如密码。
创建与FEDERATED
table 的连接时可以使用 table 中存储的数据:
CREATE TABLE t (s1 INT) ENGINE=FEDERATED CONNECTION='s';
有关更多信息,请参见第 15.8 节“联邦存储引擎”。
CREATE SERVER
导致隐式提交。参见第 13.3.3 节“导致隐式提交的声明”。
不管使用哪种日志记录格式,都不会将CREATE SERVER
写入二进制日志。