Tous les produits
Search
Centre de documentation

AnalyticDB:Importer des données depuis une instance MySQL auto-gérée

Dernière mise à jour :Aug 24, 2026

AnalyticDB for MySQL prend en charge l'importation et l'exportation de données via des tables externes. Cette rubrique explique comment utiliser une table externe dans AnalyticDB for MySQL pour importer les données d'une base de données MySQL auto-gérée hébergée sur une instance ECS vers un cluster AnalyticDB for MySQL Data Warehouse Edition.

Prérequis

  • Vous disposez d'une instance ECS située dans la même région et le même VPC que votre cluster AnalyticDB for MySQL.

  • Vous avez installé une base de données MySQL auto-gérée sur l'instance ECS.

  • Vous avez ajouté une règle entrante au groupe de sécurité de l'instance ECS afin d'autoriser l'accès à la base de données MySQL auto-gérée sur le port 3306. Pour plus d'informations, consultez la section Ajouter une règle de groupe de sécurité.

  • Vous avez créé une base de données et préparé des données de test dans la base de données MySQL auto-gérée.

    Dans cet exemple, nous créons une base de données source nommée test_adb ainsi qu'une table source nommée goods au sein de cette base. L'instruction suivante permet de créer la table source :

    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)
    );
  • Si le cluster AnalyticDB for MySQL fonctionne en mode élastique, vous devez activer l'option ENI dans la section Network Information de la page Cluster Information.

    Important

    L'activation ou la désactivation de l'ENI peut entraîner une interruption des connexions à la base de données pendant environ 2 minutes. Durant cette période, les opérations de lecture et d'écriture sont impossibles. Procédez avec prudence lors de la modification de ce paramètre.

Procédure

  1. Connectez-vous au cluster AnalyticDB for MySQL. Pour plus d'informations, consultez la section Connexion à un cluster.

  2. Créez une base de données. Pour plus d'informations, consultez la section Créer une base de données.

    Dans cet exemple, nous créons une base de données nommée adb_demo dans le cluster AnalyticDB for MySQL.

  3. Créez une table externe.

    Exécutez la commande suivante pour créer une table externe nommée goods_external_table dans la base de données cible adb_demo.

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

    Paramètre

    Description

    ENGINE='mysql'

    Spécifie le moteur de stockage de la table externe. Dans cet exemple, il s'agit de MySQL.

    TABLE_PROPERTIES

    Les informations de connexion utilisées par AnalyticDB for MySQL pour accéder à la base de données MySQL auto-gérée.

    url

    L'Primary Private IP (adresse VPC) de l'instance ECS et le nom de la base de données source. Dans cet exemple, la base de données source est test_adb. Pour afficher l'adresse IP :

    1. Connectez-vous à la console ECS et localisez l'instance cible.

    2. Sur la page Instance Details, dans la section Network Information, consultez l'Primary Private IP.

    Format : "jdbc:mysql://mysql-vpc-address:3306/ecs-database-name".

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

    tablename

    Le nom de la table source dans la base de données MySQL auto-gérée. Dans cet exemple, la table se nomme goods.

    username

    Le nom d'utilisateur permettant d'accéder à la base de données source sur l'instance MySQL auto-gérée.

    password

    Le mot de passe associé au compte.

    charset

    Le jeu de caractères de la base de données MySQL. Valeurs possibles :

    • gbk

    • UTF8 (par défaut)

    • utf8mb4

  4. Créez une table cible.

    Exécutez la commande suivante pour créer une table cible nommée mysql_import_test dans la base de données adb_demo. Cette table servira à stocker les données importées depuis la base de données MySQL auto-gérée.

    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. Importez les données de la base de données MySQL auto-gérée sur l'instance ECS vers le cluster AnalyticDB for MySQL cible.

    REPLACE INTO mysql_import_test
    SELECT * FROM goods_external_table;

Étapes suivantes

Une fois l'importation terminée, connectez-vous à la base de données adb_demo du cluster AnalyticDB for MySQL. Exécutez ensuite l'instruction suivante pour vérifier que les données ont bien été importées de la table source vers la table mysql_import_test :

SELECT * FROM mysql_import_test LIMIT 100;