すべてのプロダクト
Search
ドキュメントセンター

:FEDERATEDテーブルの作成

最終更新日:May 30, 2025

このトピックでは、PolarDB for MySQLでFEDERATEDテーブルを作成する方法について説明します。

前提条件

管理するクラスターは、リビジョンバージョンが次の要件を満たしているPolarDB for MySQL 8.0クラスターです。

  • 8.0.1.1.28以降

  • 8.0.2.2.4以降

クラスターのバージョンを表示する方法については、「エンジンバージョン」トピックのエンジンバージョンの照会セクションを参照してください。

制限事項

  • リモートサーバー上のデータベースに接続するには、サーバーのパブリックIPアドレスを使用します。

  • Elastic Compute Service (ECS) インスタンスでホストされているデータベースにリモート接続することはできません。

  • FEDERATEDストレージエンジンは、パブリックエンドポイントを使用して現在のクラスターのデータベースにアクセスできません。

手順

  1. リモートサーバーを作成します。 構文:

    CREATE SERVER <server_name>
        FOREIGN DATA WRAPPER mysql
        OPTIONS (HOST "<host_name>", PORT 3306, USER "<user_name>", PASSWORD "<password>",
                 DATABASE "<db_name>");

    次の表に、ステートメントで設定できるパラメーターを示します。

    パラメーター

    説明

    server_name

    リモートサーバーの名前。

    host_name

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

    user_name

    リモートサーバーへの接続を認証するために使用されるユーザー名。

    password

    リモートサーバーへの接続を認証するために使用されるパスワード。

    db_name

    リモートサーバーに作成されたデータベースの名前。

  2. FEDERATEDテーブルを作成します。

    リモートテーブルに接続してFEDERATEDテーブルを作成するには、3つの部分からなる名前を使用するか、リモートサーバーまたは接続を指定します。

    • (推奨) 3つの部分からなる名前を使用してFEDERATEDテーブルを作成します。 構文:

      CREATE FOREIGN TABLE tbl_name for <server_name>.<remote_db_name>.<tbl_name>;

      例:

      CREATE FOREIGN TABLE t1 for server.test.t1;
      説明

      クラスターは、バージョン8.0.2.2.25以降のPolarDB for MySQL 8.0.2である必要があります。

    • リモートサーバーを指定してFEDERATEDテーブルを作成します。 構文:

      CREATE TABLE <tbl_name> (create_definition,...) ENGINE=FEDERATED
        CONNECTION='<server_name>/<tbl_name>';

      例:

      CREATE TABLE `t1`(`a` VARCHAR(100),UNIQUE KEY(`a`(30))) ENGINE=FEDERATED
        CONNECTION='server_name/t1';
    • (推奨しません) 接続を指定してFEDERATEDテーブルを作成します。 構文:

      CREATE TABLE <tbl_name> (create_definition,...) ENGINE=FEDERATED
        CONNECTION='<MYSQL://<user_name>:<password>@<host_name>:3306/<db_name>/<tbl_name>';

      例:

      CREATE TABLE `t1`(`a` VARCHAR(100),UNIQUE KEY(`a`(30))) ENGINE=FEDERATED
        CONNECTION='MYSQL://username:passsword@127.0.0.1:3306/test/t1';
      説明

      この方法では、アカウントとパスワードはプレーンテキストで保存されます。 したがって、この方法を使用しないことをお勧めします。