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
テーブル内にエントリを作成します。これは、あとで FEDERATED
テーブルを作成するときに CREATE TABLE
ステートメントで使用できます。 指定したオプションは、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';
詳細は、セクション16.8「FEDERATED ストレージエンジン」を参照してください。
CREATE SERVER
によって暗黙的なコミットが発生します。 セクション13.3.3「暗黙的なコミットを発生させるステートメント」を参照してください。
使用されているロギング形式に関係なく、CREATE SERVER
はバイナリログに書き込まれません。