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

AnalyticDB:自己管理型MySQLデータベースへのデータのエクスポート

最終更新日:Jun 12, 2024

AnalyticDB for MySQLでは、外部テーブルを使用してデータをインポートおよびエクスポートできます。 このトピックでは、AnalyticDB for MySQL Data Warehouse Edition (V3.0) の外部テーブルを使用して、自己管理型MySQLデータベースにデータをエクスポートする方法について説明します。

前提条件

  • Elastic Compute Service (ECS) インスタンスは、AnalyticDB for MySQLクラスターと同じリージョン内の同じ仮想プライベートクラウド (VPC) に作成されます。

  • 自己管理型MySQLデータベースはECSインスタンスでホストされています。

  • 自己管理型MySQLデータベースが接続されているポート番号には、ECSインスタンスへのアクセスが許可されています。 詳細については、「セキュリティグループルールの追加」をご参照ください。

  • テストデータを準備する。

    この例では、test_adbという名前のECSホストの自己管理型MySQLデータベースがターゲットデータベースとして使用されます。 coursesという名前の宛先テーブルがデータベースに作成されます。 このテーブルは、AnalyticDB for MySQLクラスターからエクスポートされたデータを格納するために使用されます。 次の文を使用して、宛先テーブルを作成できます。

    テーブルコースの作成 (
        id bigint NOT NULL,
        名前varchar(32) NOT NULL,
        グレードvarchar (32) NOT NULL,
        submission_date timestamp NOT NULL,
        主要なキー (id)
    ); 
  • AnalyticDB for MySQLクラスターがエラスティックモードの場合、クラスター情報 ページの ネットワーク情報 セクションでEniネットワークをオンにする必要があります。启用ENI网络

手順

  1. AnalyticDB for MySQLクラスターに接続します。 詳細については、「AnalyticDB For MySQLクラスターへの接続」をご参照ください。

  2. ソースデータベースを作成します。 詳細については、「データベースの作成」をご参照ください。

    この例では、adb_demoという名前のデータベースがAnalyticDB for MySQLクラスターのソースデータベースとして使用されています。

  3. ソーステーブルを作成し、ソーステーブルにデータを挿入します。

    次のステートメントを実行して、adb_demoソースデータベースにcoursesという名前のソーステーブルを作成します。 次に、ソーステーブルのデータをtest_adb自己管理型MySQLデータベースのcoursesテーブルにエクスポートします。

    テーブルコースの作成 (
    id bigint AUTO_INCREMENT、名前varchar NOT NULL,
    グレードvarchar DEFAULT '1st grade '、submission_dateタイムスタンプ
    ) ハッシュによる分配 (id); 
    次のステートメントを実行して、coursesソーステーブルにデータの行を挿入します。
    insert into courses (name,submission_date) VALUES("Jams",NOW());
  4. 外部テーブルを作成します。

    次のステートメントを実行して、adb_demoデータベースにcourses_external_tableという名前の外部テーブルを作成します。
    create table IF NOT EXISTS courses_external_table (
     id bigint NOT NULL,
     名前varchar(32) NOT NULL,
     グレードvarchar (32) NOT NULL,
     submission_date timestamp NOT NULL,
     主要なキー (id)
     )
    エンジン='mysql'
    TABLE_PROPERTIES='{
    "url":"jdbc:mysql:// mysql-vpc-address:3306/test_adb" 、"tablename":"コース" 、"username":"mysql-user-name" 、"password":"mysql-user-password" 、"charset":"utf8"
    } '; 

    パラメーター

    説明

    エンジン='mysql'

    外部テーブルに使用されるストレージエンジン。 この例では、MySQLが使用されています。

    テーブル_プロパティ

    AnalyticDB for MySQLクラスターがECSホストのセルフマネージドMySQLデータベースのデータにアクセスするために使用する接続情報。

    url

    ECSインスタンスのプライマリプライベートIPアドレスまたはVPCエンドポイント、およびターゲットデータベースの名前。 この例では、ターゲットデータベースの名前はtest_adbです。 ECSインスタンスのVPCエンドポイントを表示するには、次の手順を実行します。

    1. ECSコンソールにログインし、ECSインスタンスを見つけます。

    2. [インスタンスの詳細] タブの [ネットワーク情報] セクションで、ECSインスタンスの [プライマリプライベートIPアドレス] の値を表示します。

    形式: "jdbc:mysql:// mysql-vpc-address:3306/ecs-database-name"

    例: jdbc:mysql:// 192.168.128 ***:3306/test_adb

    tablename

    ECSホスト型の自己管理型MySQLデータベースのターゲットテーブルの名前。 この例では、コースが使用されています。

    ユーザー名

    ECSホストの自己管理型MySQLデータベースへの接続に使用されるデータベースアカウントのユーザー名。

    パスワード

    データベースアカウントのパスワードを設定します。

    charset

    ソースデータベースで使用される文字セット。 有効な値:

    • gbk

    • utf8 (デフォルト)

    • utf8mb4

  5. からデータをエクスポートするAnalyticDB for MySQLクラスターをECSホストの自己管理型MySQLデータベースに追加します。

    次のステートメントを実行します。
    REPLACE INTO courses_external_table
    SELECT * FROMコース; 

次のステップ

データがエクスポートされた後、test_adb自己管理MySQLデータベースに接続できます。 次に、次のステートメントを実行して、データがソーステーブルからコースの宛先テーブルにインポートされているかどうかを確認します。

SELECT * FROMコースLIMIT 100;