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

AnalyticDB:ApsaraDB RDS for MySQL へのエクスポート

最終更新日:Aug 25, 2026

AnalyticDB for MySQL は、外部テーブルを使用してデータのインポートおよびエクスポートを行います。このトピックでは、AnalyticDB for MySQL Data Warehouse Edition クラスターの外部テーブルを使用して、ApsaraDB RDS for MySQL インスタンスにデータをエクスポートする方法について説明します。

前提条件

  • ApsaraDB RDS for MySQL インスタンスと AnalyticDB for MySQL クラスターは、同じ VPC 内にあり、同じ VPC ID を持つ必要があります。

    説明
    • ApsaraDB RDS for MySQL インスタンスの VPC ID を確認するには、ApsaraDB RDS コンソールにログインしてインスタンス ID をクリックし、データベース接続 ページの ネットワークタイプ セクションで ID を確認します。

    • AnalyticDB for MySQL コンソールにログインします。データウェアハウス版タブで、クラスター ID をクリックします。クラスター情報 ページの ネットワーク情報 セクションで、AnalyticDB for MySQL クラスターの VPC ID を確認します。

  • ApsaraDB RDS for MySQL インスタンスにデータベースを作成し、インスタンスに接続して、必要なテストデータを準備します。詳細については、「アカウントとデータベースの作成」および「ApsaraDB RDS for MySQL インスタンスへの接続」をご参照ください。

    この例では、ApsaraDB RDS for MySQL インスタンスのターゲットデータベースは test_adb です。AnalyticDB for MySQL クラスターからエクスポートされたデータを格納するために、このデータベースに courses という名前のターゲットテーブルが必要です。次のステートメントを使用してテーブルを作成します。

    CREATE TABLE courses (
        id bigint NOT NULL,
        name varchar(32) NOT NULL,
        grade varchar(32) NOT NULL,
        submission_date  timestamp NOT NULL,
        PRIMARY KEY (id)
    );
  • AnalyticDB for MySQL クラスタがエラスティック モードの場合、クラスター情報 ページの ネットワーク情報 セクションで Eniネットワーク を有効にする必要があります。

    重要

    ENI を有効または無効にすると、データベース接続が約 2 分間中断される場合があります。この間、読み取りまたは書き込み操作を実行することはできません。ENI を有効または無効にする場合は注意してください。

手順

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

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

    この例では、AnalyticDB for MySQL クラスターのソースデータベースは adb_demo です。

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

    次のステートメントを実行して、adb_demo ソースデータベースに courses という名前のソーステーブルを作成します。このテーブルのデータは、test_adb ターゲットデータベースの courses テーブルにエクスポートされます。

    CREATE TABLE courses (
    id bigint AUTO_INCREMENT,
    name varchar NOT NULL,
    grade varchar DEFAULT '1st Grade',
    submission_date timestamp
    ) DISTRIBUTED BY HASH(id);

    次のステートメントを実行して、ソーステーブル courses に 1 行のデータを挿入します。

    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,
     name varchar(32) NOT NULL,
     grade varchar(32) NOT NULL,
     submission_date  timestamp NOT NULL,
     PRIMARY KEY (id)
     )
    ENGINE='mysql'  
    TABLE_PROPERTIES='{  
    "url":"jdbc:mysql://mysql-vpc-address:3306/test_adb",  
    "tablename":"courses",  
    "username":"mysql-user-name",  
    "password":"mysql-user-password",
    "charset":"utf8"
    }';

    パラメーター

    説明

    ENGINE='mysql'

    外部テーブルのストレージエンジン。この例では MySQL を使用します。

    TABLE_PROPERTIES

    AnalyticDB for MySQL が RDS MySQL データにアクセスするためのプロパティ。

    url

    ApsaraDB RDS for MySQL インスタンスの VPC エンドポイントとターゲットデータベースの名前。この例では、ターゲットデータベースは test_adb です。RDS インスタンスのエンドポイントを確認する方法については、「インスタンスエンドポイントとポートの表示と管理」をご参照ください。

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

    例:jdbc:mysql://rm-bp1hem632****.mysql.rds.aliyuncs.com:3306/test_adb

    tablename

    ApsaraDB RDS for MySQL インスタンスのターゲットテーブルの名前。この例では courses を使用します。

    username

    ターゲット ApsaraDB RDS for MySQL データベースのユーザー名。

    password

    指定したユーザー名のパスワード。

    charset

    MySQL の文字セット。有効な値:

    • gbk

    • [Utf8] (デフォルト)

    • utf8mb4

  5. ソース AnalyticDB for MySQL クラスターからターゲット ApsaraDB RDS for MySQL インスタンスにデータをエクスポートします。

    次のステートメントを実行します。

    REPLACE INTO courses_external_table
    SELECT * FROM courses;

次のステップ

エクスポートが完了したら、ApsaraDB RDS for MySQL インスタンスの test_adb ターゲットデータベースにログインし、次のステートメントを実行して、データがターゲット courses テーブルにエクスポートされたことを確認します。

SELECT * FROM courses LIMIT 100;