このページは機械翻訳したものです。
多くの FEDERATED
テーブルを同じサーバーに作成する場合、または FEDERATED
テーブルの作成プロセスを単純化する必要がある場合、CREATE SERVER
ステートメントを使用してサーバー接続パラメータを定義できます (CONNECTION
文字列の場合と同様)。
CREATE SERVER
ステートメントの書式は次のとおりです。
Press CTRL+C to copyCREATE SERVER server_name FOREIGN DATA WRAPPER wrapper_name OPTIONS (option [, option] ...)
server_name
は FEDERATED
テーブルを作成するときに接続文字列で使用されます。
たとえば CONNECTION
文字列と同一のサーバー接続を作成するには、次のとおりです。
Press CTRL+C to copyCONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
次のステートメントを使用することになります。
Press CTRL+C to copyCREATE SERVER fedlink FOREIGN DATA WRAPPER mysql OPTIONS (USER 'fed_user', HOST 'remote_host', PORT 9306, DATABASE 'federated');
この接続を使用する FEDERATED
テーブルを作成するには、CONNECTION
キーワードも使用しますが、CREATE SERVER
ステートメントで使用した名前を指定します。
Press CTRL+C to copyCREATE 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=utf8mb4 CONNECTION='fedlink/test_table';
この例の接続名には、接続の名前 (fedlink
) とリンクするテーブルの名前 (test_table
) が含まれます (区切りはスラッシュ)。 テーブル名なしで接続名だけを指定した場合、代わりにローカルテーブルのテーブル名が使用されます。
CREATE SERVER
の詳細情報については、セクション13.1.18「CREATE SERVER ステートメント」を参照してください。
CREATE SERVER
ステートメントは、CONNECTION
文字列と同じ引数を受け入れます。 CREATE SERVER
ステートメントは mysql.servers
テーブルの中の行を更新します。 接続文字列のパラメータ間の通信、CREATE SERVER
ステートメントのオプション、および mysql.servers
テーブルのカラムに関する情報については、次の表を参照してください。 参考までに、CONNECTION
文字列の書式は次のとおりです。
Press CTRL+C to copyscheme://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 |