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


15.8.2.1 CONNECTION を使用した FEDERATED テーブルの作成

最初の方法を使用するには、CREATE TABLE ステートメントのエンジンタイプの後ろに CONNECTION 文字列を指定する必要があります。例:

CREATE TABLE federated_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='mysql://fed_user@remote_host:9306/federated/test_table';
注記

CONNECTION は MySQL の以前のバージョンで使われた COMMENT を置き換えるものです。

CONNECTION 文字列には、データを物理的に格納するために使用されるテーブルを含む、リモートサーバーへの接続に必要な情報が含まれています。接続文字列には、サーバー名、ログイン資格証明、ポート番号、およびデータベース/テーブル情報を指定します。この例では、リモートテーブルはサーバー remote_host 上にあり、ポート 9306 を使用します。名前とポート番号は、リモートテーブルとして使用するリモート MySQL サーバーのホスト名 (または IP アドレス) とポート番号に一致するべきです。

接続文字列の書式は次のとおりです。

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name

ここでは:

  • scheme: 認識された接続プロトコル。この時点では、mysql だけが scheme 値としてサポートされています。

  • user_name: 接続のためのユーザー名。このユーザーは、リモートサーバー上に作成されている必要があり、リモートテーブルで必要なアクション (SELECTINSERTUPDATE など) を実行するのに適した権限を持つ必要があります。

  • password: (オプション) user_name に対応するパスワード。

  • host_name: リモートサーバーのホスト名または IP アドレス。

  • port_num: (オプション) リモートサーバーのポート番号。デフォルトは 3306 です。

  • db_name: リモートテーブルを保持するデータベースの名前。

  • tbl_name: リモートテーブルの名前。ローカルテーブルとリモートテーブルの名前が一致する必要はありません。

接続文字列の例は次のとおりです。

CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'