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
语句在 mysql.servers
表中创建了一条记录,该记录可以在使用 CREATE TABLE
语句创建 FEDERATED
表时使用。您指定的选项将用于填充 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 存储引擎”。
创建服务器
导致隐式提交。请参阅 第 15.3.3 节,“导致隐式提交的语句”。
创建服务器
不会被写入二进制日志,不管当前使用的是什么日志格式。