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

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

最終更新日:Mar 29, 2026

外部テーブルを使用して、AnalyticDB for MySQL クラスターから ApsaraDB RDS for MySQL インスタンスにデータをエクスポートします。外部テーブルは RDS インスタンスのターゲットテーブルにマッピングされ、単一の REPLACE INTO ... SELECT 文でデータが移動されます。

前提条件

開始する前に、次の前提条件を満たしていることを確認してください。

  • AnalyticDB for MySQL クラスターと ApsaraDB RDS for MySQL インスタンスが同じ VPC (Virtual Private Cloud) にあること。VPC ID を比較して確認します。

    • RDS インスタンスApsaraDB RDS コンソールでインスタンス ID をクリックし、[データベース接続] ページの [ネットワークタイプ] フィールドで VPC ID を表示します。

    • AnalyticDB クラスターAnalyticDB for MySQL コンソールで、[データウェアハウス版 (V3.0)] タブに移動し、クラスター ID をクリックします。次に、[クラスター情報] ページの [ネットワーク情報] セクションで VPC ID を表示します。

  • RDS インスタンス上にデータベースとテストデータがあること。詳細については、「アカウントとデータベースの作成」および「ApsaraDB RDS for MySQL インスタンスへの接続」をご参照ください。

  • (Elastic モードのみ) [クラスター情報] ページの [ネットワーク情報] セクションで [ENI] が有効になっている

ApsaraDB RDS for MySQL へのデータのエクスポート

この例では、AnalyticDB for MySQL クラスターの courses という名前のソーステーブルから、RDS インスタンスの同じ名前のターゲットテーブルにデータをエクスポートします。ソースデータベースは adb_demo で、ターゲットデータベースは test_adb です。

ステップ 1:RDS でのターゲットテーブルの作成

RDS インスタンスの test_adb データベースに接続し、ターゲットテーブルを作成します。

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)
);

ステップ 2:AnalyticDB for MySQL クラスターへの接続

クラスターに接続するしてから、「ソースデータベースを作成する」を実行します。この例では、adb_demo という名前のデータベースを使用します。

ステップ 3:ソーステーブルの作成とテストデータの挿入

adb_demo データベースに courses という名前のソーステーブルを作成します。

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

テストデータを 1 行挿入します。

INSERT INTO courses (name, submission_date) VALUES ("Jams", NOW());

ステップ 4:外部テーブルの作成

adb_demo データベースに courses_external_table という名前の外部テーブルを作成します。このテーブルは RDS インスタンスの courses テーブルにマッピングされ、書き込み先として機能します。

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"
}';

TABLE_PROPERTIES のプレースホルダー値を、実際の接続詳細に置き換えてください。

パラメーター説明
ENGINE='mysql'外部テーブルのストレージエンジンとして MySQL を指定します。
urlRDS インスタンスの VPC エンドポイントとターゲットデータベース名。フォーマット:jdbc:mysql://<vpc-endpoint>:3306/<database-name>。例:jdbc:mysql://192.168.128.***:3306/test_adb。VPC エンドポイントを確認する方法については、「インスタンスのエンドポイントとポートの表示と管理」をご参照ください。
tablenameRDS データベース内のターゲットテーブルの名前。
usernameRDS データベースへの接続に使用するアカウント名。
passwordアカウントのパスワード。
charsetソースデータベースの文字セット。デフォルト:utf8。有効な値:gbkutf8utf8mb4

ステップ 5:データのエクスポート

次の文を実行して、AnalyticDB のソーステーブルから RDS のターゲットテーブルにデータをコピーします。

REPLACE INTO courses_external_table
SELECT * FROM courses;

エクスポートの検証

RDS インスタンスの test_adb データベースにログインし、ターゲットテーブルにクエリを実行します。

SELECT * FROM courses LIMIT 100;

エクスポートされた行がソースデータと一致することを確認します。

次のステップ

データがエクスポートされた後、ApsaraDB RDS for MySQL インスタンスの test_adb ターゲットデータベースにログインして、データがソーステーブルから courses ターゲットテーブルにインポートされたことを確認できます。