### 13.1.18 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
}
```

此语句创建一个服务器的定义，用于`联邦`存储引擎。这`创建服务器`语句在`服务器`表中的`mysql`数据库。该声明要求[`极好的`](privileges-provided.html#priv_super)特权。

这`*`服务器名称`*`应该是对服务器的唯一引用。服务器定义在服务器范围内是全局的，不可能将服务器定义限定为特定数据库。`*`服务器名称`*`最大长度为 64 个字符（超过 64 个字符的名称将被静默截断），并且不区分大小写。您可以将名称指定为带引号的字符串。

这`*`包装器名称`*`是一个标识符，可以用单引号引起来。

对于每个`*`选项`*`您必须指定字符文字或数字文字。字符文字是 UTF-8，支持最大长度为 64 个字符，默认为空白（空）字符串。字符串文字被静默截断为 64 个字符。数字字面量必须是 0 到 9999 之间的数字，默认值为 0。

笔记

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

这`创建服务器`语句在`mysql.servers`以后可以与[`创建表`](create-table.html)创建时的声明`联邦`桌子。您指定的选项用于填充`mysql.servers`桌子。表格列是`服务器名称`,`主持人`,`D b`,`用户名`,`密码`,`港口`和`插座`.

例如：

```
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '198.51.100.106', DATABASE 'test');
```

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

存储在表中的数据可用于创建与`联邦`桌子：

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

有关详细信息，请参阅[第 16.8 节，“联合存储引擎”](federated-storage-engine.html).

`创建服务器`导致隐式提交。看[第 13.3.3 节，“导致隐式提交的语句”](implicit-commit.html).

`创建服务器`无论使用何种日志记录格式，都不会写入二进制日志。
