Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


15.8.2.2 CREATE SERVER を使用した FEDERATED テーブルの作成

多くの FEDERATED テーブルを同じサーバーに作成する場合、または FEDERATED テーブルの作成プロセスを単純化する必要がある場合、CREATE SERVER ステートメントを使用してサーバー接続パラメータを定義できます (CONNECTION 文字列の場合と同様)。

CREATE SERVER ステートメントの書式は次のとおりです。

CREATE SERVER
server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)

server_nameFEDERATED テーブルを作成するときに接続文字列で使用されます。

たとえば CONNECTION 文字列と同一のサーバー接続を作成するには、次のとおりです。

CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

次のステートメントを使用することになります。

CREATE SERVER fedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated');

この接続を使用する FEDERATED テーブルを作成するには、CONNECTION キーワードも使用しますが、CREATE SERVER ステートメントで使用した名前を指定します。

CREATE TABLE test_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='fedlink/test_table';

この例の接続名には、接続の名前 (fedlink) とリンクするテーブルの名前 (test_table) が含まれます (区切りはスラッシュ)。テーブル名なしで接続名だけを指定した場合、代わりにローカルテーブルのテーブル名が使用されます。

CREATE SERVER の詳細情報については、セクション13.1.16「CREATE SERVER 構文」を参照してください。

CREATE SERVER ステートメントは、CONNECTION 文字列と同じ引数を受け入れます。CREATE SERVER ステートメントは mysql.servers テーブルの中の行を更新します。接続文字列のパラメータ間の通信、CREATE SERVER ステートメントのオプション、および mysql.servers テーブルのカラムに関する情報については、次の表を参照してください。参考までに、CONNECTION 文字列の書式は次のとおりです。

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
説明 CONNECTION 文字列 CREATE SERVER オプション mysql.servers カラム
接続スキーム scheme wrapper_name Wrapper
リモートユーザー user_name USER Username
リモートパスワード password PASSWORD Password
リモートホスト host_name HOST Host
リモートポート port_num PORT Port
リモートデータベース db_name DATABASE Db

User Comments
Sign Up Login You must be logged in to post a comment.