CREATE SERVER 语句

1. CREATE SERVER server_name
2.     FOREIGN DATA WRAPPER wrapper_name
3.     OPTIONS (option [, option] ...)
4. 
5. option: {
6.     HOST character-literal
7.   | DATABASE character-literal
8.   | USER character-literal
9.   | PASSWORD character-literal
10.   | SOCKET character-literal
11.   | OWNER character-literal
12.   | PORT numeric-literal
13. }

此语句创建用于 FEDERATED 存储引擎的服务器定义。CREATE SERVER 语句在 mysql 数据库的 servers 表中创建一行新记录。此语句需要 SUPER 权限。

server_name 是对服务器的唯一引用。服务器定义在服务器范围内是全局的,不可能将服务器定义限定于特定的数据库。server_name 的最大长度为64个字符(超过64个字符的名称将自动截断),并且不区分大小写。可以将名称指定为带引号的字符串。

wrapper_name 是一个标识符,可以用单引号引起来。

对于每个 option,必须指定字符字面量或数字字面量。字符字面量为UTF-8,最大支持64个字符,默认为空(empty)字符串。字符串字面量将自动截断为64个字符。数字字面量必须是介于0和9999之间的数字,默认值为0。

注意

OWNER 选项当前未应用,并且对所创建的服务器连接的所有权或操作没有影响。

CREATE SERVER 语句在 mysql.servers 表中创建一条记录,以后在创建 FEDERATED 存储引擎表时可以与 CREATE TABLE 语句一起使用。指定的选项将用于填充 mysql.servers 表的列。表中的列是Server_name、Host、Db、Username、Password、Port和Socket。

例如:

1. CREATE SERVER s
2. FOREIGN DATA WRAPPER mysql
3. OPTIONS (USER 'Remote', HOST '198.51.100.106', DATABASE 'test');

请确保指定与服务器建立连接所需的所有选项。用户名、主机名和数据库名是必需的。可能还需要其他选项,例如密码。

创建到 FEDERATED 表的连接时,可以使用表中存储的数据:

  1. CREATE TABLE t (s1 INT) ENGINE=FEDERATED CONNECTION='s';

CREATE SERVER 语句会导致隐式提交。

无论使用何种日志格式,CREATE SERVER 都不会写入二进制日志。

官方文档地址: https://dev.mysql.com/doc/refman/8.0/en/create-server.html