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

AnalyticDB:セルフマネージド MySQL からのデータインポート

最終更新日:Aug 25, 2026

AnalyticDB for MySQL は、外部テーブルを使用したデータのインポートとエクスポートをサポートしています。このトピックでは、AnalyticDB for MySQL の外部テーブルを使用して、ECS インスタンス上の自己管理型 MySQL データベースから AnalyticDB for MySQL Data Warehouse Edition クラスターにデータをインポートする方法について説明します。

前提条件

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

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

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

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

    この例では、test_adb という名前のソースデータベースが作成され、データベースに goods という名前のソーステーブルが作成されます。ソーステーブルの作成には、次のステートメントが使用されます。

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

    重要

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

操作手順

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

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

    この例では、adb_demo という名前のデータベースが AnalyticDB for MySQL クラスタに作成されます。

  3. 外部テーブルを作成します。

    次のコマンドを実行して、ターゲットデータベース adb_demogoods_external_table という名前の外部テーブルを作成します。

    CREATE TABLE IF NOT EXISTS goods_external_table (
            goods_id bigint(20) NOT NULL,
            price double NOT NULL,
            class bigint(20) NOT NULL,
            name varchar(32) NOT NULL,
            update_time timestamp,
            PRIMARY KEY (goods_id)
     )
            ENGINE='mysql'  
            TABLE_PROPERTIES='{  
            "url":"jdbc:mysql://mysql-vpc-address:3306/test_adb",  
            "tablename":"goods",  
            "username":"mysql-user-name",  
            "password":"mysql-user-password",
            "charset":"utf8"
      }';

    パラメータ

    説明

    ENGINE='mysql'

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

    TABLE_PROPERTIES

    AnalyticDB for MySQL が自己管理 MySQL データベースにアクセスするために使用する接続情報。

    url

    ECS インスタンスの プライマリプライベート IP (VPC アドレス) およびソースデータベースの名前。 この例では、ソースデータベースは test_adb です。 IP アドレスを表示するには:

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

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

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

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

    テーブル名

    自己管理型 MySQL データベースのソーステーブル名です。この例では、テーブル名は goods です。

    ユーザー名

    セルフマネージド MySQL インスタンスのソースデータベースにアクセスするためのユーザー名です。

    パスワード

    アカウントのパスワードです。

    文字セット

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

    • gbk

    • [Utf8] (デフォルト値)

    • utf8mb4

  4. ターゲットテーブルを作成します。

    次のコマンドを実行して、adb_demo データベースに mysql_import_test という名前のターゲットテーブルを作成します。このテーブルは、セルフマネージド MySQL データベースからインポートされたデータを格納するために使用されます。

    CREATE TABLE IF NOT EXISTS  mysql_import_test (
            goods_id bigint(20) NOT NULL,
            price double NOT NULL,
            class bigint(20) NOT NULL,
            name varchar(32) NOT NULL,
            update_time timestamp,
            PRIMARY KEY (goods_id)
     )
    DISTRIBUTED BY HASH(goods_id);
  5. ECS インスタンス上の自己管理型 MySQL データベースからターゲット AnalyticDB for MySQL クラスターへデータをインポートします。

    REPLACE INTO mysql_import_test
    SELECT * FROM goods_external_table;

次のステップ

データがインポートされた後、AnalyticDB for MySQL クラスタの adb_demo データベースに接続できます。次に、次の文を実行して、ソーステーブルから mysql_import_test テーブルにデータがインポートされたかどうかを確認します。

SELECT * FROM mysql_import_test LIMIT 100;