CREATE SERVER 構文

CREATE SERVER server_name
    FOREIGN DATA WRAPPER wrapper_name
    OPTIONS (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 テーブル内の新しい行を作成します。

server_name はサーバの固有の参照でなければいけません。サーバ定義は、サーバの領域内では広範囲です。特定のデータ ベースにサーバ定義を適応するのは不可能です。server_name は最長63文字の長さを持ち(63文字以上の名前は静かに切り捨てられる)、大文字と小文字を区別しません。単一引用句を利用して名前を指定します。

wrapper_namemysql となる必要があり、そして1つの引用句を利用して引用されます。wrapper_name のその他の値は現在はサポートされていません。

option に対しては、文字直定数か数値定数のどちらかを指定しなければいけません。文字直定数は UTF 8で、最高64文字の長さとデフォルトを空の文字列にサポートします。文字列定数は静かに64文字まで切り捨てられます。数値定数は0から9999の間の数字である必要があり、デフォルト値は0です。

CREATE SERVER ステートメントを利用する為に特別な権限は必要ありません。

CREATE SERVER ステートメントは mysql.server テーブル内に FEDERATED テーブルを作成する時に CREATE TABLE ステートメントと共に利用する事ができるエントリを作成します。指定するオプションは mysql.server テーブル内にカラムを投入する為に利用されます。テーブルカラムは Server_nameHostDbUsernamePasswordPort そして Socket です。

例:

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

テーブルに格納されたデータは FEDERATED テーブルへの接続を作成する時に利用できます。

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

更なる情報については 項13.9. 「FEDERATED ストレージエンジン」 を参照してください。

CREATE SERVER は自動コミットを引き起こしません。