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

AnalyticDB:自己管理 MySQL データベースからのデータインポート

最終更新日:Mar 25, 2026

AnalyticDB for MySQL では、外部テーブルを用いたデータのインポートおよびエクスポートがサポートされています。本トピックでは、ECS インスタンス上で動作する自己管理 MySQL データベースから、AnalyticDB for MySQLAnalyticDB for MySQL Data Warehouse Edition クラスターへデータをインポートする手順について説明します。

前提条件

  • ご利用の AnalyticDB for MySQL クラスターと同じリージョンおよび VPC 内に ECS インスタンスが存在すること。

  • ECS インスタンス上に自己管理 MySQL データベースがインストール済みであること。

  • 自己管理 MySQL データベースのポート 3306 に対して、セキュリティグループのインバウンドルールが追加済みであること。詳細については、「セキュリティグループルールの追加」をご参照ください。

  • 自己管理 MySQL データベース上にデータベースが作成され、テストデータが準備済みであること。

    本例では、ソースデータベースとして test_adb という名前の自己管理 MySQL データベースを使用します。このデータベース内には、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. データベースを作成します。詳細については、「データベースを作成する」をご参照ください。

    本例では、AnalyticDB for MySQL クラスター内に adb_demo という名前のデータベースを作成します。

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

    以下の文を実行して、adb_demo データベース内に goods_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

    プライマリプライベート 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

    tablename

    自己管理 MySQL データベース内のソーステーブルの名前です。本例では goods を使用します。

    username

    ソースの自己管理 MySQL データベースにアクセスするためのアカウントです。

    password

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

    charset

    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. ソースの自己管理 MySQL データベースから送信先の AnalyticDB for MySQL クラスターへデータをインポートします。

    REPLACE INTO mysql_import_test
    SELECT * FROM goods_external_table;

次のステップ

データのインポートが完了した後、adb_demo データベースに AnalyticDB for MySQL クラスターから接続し、以下の文を実行して、ソーステーブルから mysql_import_test テーブルへデータが正しくインポートされたかを確認できます:

SELECT * FROM mysql_import_test LIMIT 100;