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

AnalyticDB:セルフマネージド MySQL データベースへのデータのエクスポート

最終更新日:Aug 25, 2026

AnalyticDB for MySQL は、外部テーブルを使用したデータのインポートおよびエクスポートをサポートしています。このトピックでは、AnalyticDB for MySQL Data Warehouse Edition クラスターで外部テーブルを使用して、ECS インスタンス上のセルフマネージド MySQL データベースにデータをエクスポートする方法について説明します。

前提条件

  • お使いの AnalyticDB for MySQL クラスターと同じリージョンおよび VPC に ECS インスタンスがあります。

  • ECS インスタンスにセルフマネージド MySQL データベースがインストールされていること。

  • ECS インスタンスのセキュリティグループにインバウンドルールを追加して、ポート 3306 でのセルフマネージド MySQL データベースへのアクセスを許可していること。詳細については、「セキュリティグループルールの追加」をご参照ください。

  • セルフマネージド MySQL データベースにデータベースを作成し、テストデータを準備していること。

    この例では、移行先データベースは test_adb という名前の自己管理型 MySQL データベースです。 このデータベースには、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が自己管理型 MySQL データベースにアクセスするために使用する接続プロパティ。

    url

    ECS インスタンスの プライマリプライベート IP (VPC IP アドレス) と宛先データベース名。この例では、データベース名は test_adb です。IP アドレスを確認するには、次の手順を実行します。

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

    2. インスタンスの詳細 ページの ネットワーク情報 セクションで、プライマリプライベート IP を表示します。

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

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

    tablename

    セルフマネージド MySQL データベースの宛先テーブル名です。この例では、テーブル名は courses です。

    ユーザー名

    ターゲットデータベースへのアクセスに使用するデータベースアカウントのユーザー名です。

    パスワード

    指定されたデータベースアカウントのパスワードです。

    charset

    MySQL データベースの文字セットです。有効値:

    • gbk

    • [Utf8] (デフォルト)

    • utf8mb4

  5. 宛先の自己管理型 MySQL データベースに、AnalyticDB for MySQL クラスターからデータをエクスポートします。

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

    REPLACE INTO courses_external_table
    SELECT * FROM courses;

次のステップ

セルフマネージド MySQL の test_adb データベースにログオンします。次に、次のコマンドを実行して、データが宛先の courses テーブルにエクスポートされたことを確認します:

SELECT * FROM courses LIMIT 100;