Tous les produits
Search
Centre de documentation

Data Transmission Service:Migrer les données d'une base de données TiDB auto-gérée vers un cluster PolarDB for MySQL

Dernière mise à jour :Aug 10, 2026

Utilisez Data Transmission Service (DTS) pour migrer les données d'une base de données TiDB auto-gérée vers un cluster PolarDB for MySQL. DTS prend en charge la migration de schéma, la migration complète des données et la migration incrémentielle des données, ce qui vous permet de minimiser les temps d'arrêt en maintenant la destination synchronisée avec la source jusqu'au basculement.

Le processus global comporte quatre étapes :

  1. Créez le cluster PolarDB for MySQL de destination et vérifiez les autorisations du compte.

  2. (Uniquement pour la migration incrémentielle) Configurez un cluster Kafka et paramétrez TiDB Binlog ou TiCDC pour diffuser les modifications vers Kafka.

  3. Créez et configurez la tâche de migration DTS.

  4. Exécutez la pré-vérification, achetez l'instance et surveillez la progression de la tâche.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Autorisations requises

Base de données Autorisations requises Référence
Base de données TiDB SHOW VIEW et SELECT sur les objets à migrer Gestion des privilèges
Cluster PolarDB for MySQL Lecture et écriture sur la base de données de destination Créer et gérer des comptes de base de données

Facturation

Type de migration Frais de configuration de l'instance Frais de trafic Internet
Migration de schéma et migration complète des données Gratuit Facturé lorsque Access Method est défini sur Public IP Address. Consultez Présentation de la facturation.
Migration incrémentielle des données Facturé. Consultez Présentation de la facturation. Consultez Présentation de la facturation.

Opérations SQL prises en charge pour la migration incrémentielle

Type d'opération Instructions SQL
DML INSERT, UPDATE, DELETE
DDL CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN

Remarques sur l'utilisation

Limites de la base de données source

  • Bande passante sortante : Le serveur de la base de données source doit disposer d'une bande passante sortante suffisante. Une bande passante insuffisante réduit la vitesse de migration.

  • Clé primaire ou contrainte UNIQUE : Les tables doivent posséder une PRIMARY KEY ou une contrainte UNIQUE avec tous les champs uniques. Sans ces contraintes, la base de données de destination peut contenir des enregistrements en double.

  • Limite de tables par tâche : Lors de la migration de tables individuelles avec des modifications au niveau des colonnes (telles que le renommage des colonnes), une seule tâche prend en charge jusqu'à 1 000 tables. Pour plus de 1 000 tables, répartissez le travail sur plusieurs tâches ou migrez la base de données entière.

  • Restrictions DDL pendant la migration : Pendant la migration de schéma et la migration complète des données, n'effectuez pas d'opérations DDL modifiant le schéma de la base de données ou des tables. La tâche de migration échoue si des opérations DDL sont détectées.

  • Index de préfixe : Les métadonnées TiDB ne stockent pas les longueurs des index de préfixe. Après la migration, les longueurs des index de préfixe sont perdues, ce qui peut empêcher l'instance de fonctionner. Corrigez manuellement les longueurs des index de préfixe pour toutes les tables concernées après la migration.

  • Exigences relatives aux données incrémentielles : La migration incrémentielle des données nécessite un cluster Kafka et les composants TiDB Binlog ou TiCDC. Consultez (Facultatif) Configurer la collecte de données incrémentielles.

Autres limites

  • Incremental data partition : DTS lit les données incrémentielles uniquement à partir de l'ID de partition 0 dans le topic Kafka.

  • Initialisation de la position : Après avoir créé une tâche avec migration incrémentielle, effectuez des modifications ou insérez des données de test dans la base de données source rapidement pour mettre à jour les informations de position. Ne pas le faire peut entraîner l'échec de la tâche en raison d'une latence excessive.

  • Caractères sur 4 octets : Si les données incluent des caractères rares ou des emojis (caractères sur 4 octets), la base de données et les tables de destination doivent utiliser le jeu de caractères UTF8mb4. Si vous utilisez la migration de schéma DTS, définissez également le paramètre d'instance character_set_server sur UTF8mb4 dans la base de données de destination.

  • Utilisation des ressources lors de la migration complète : La migration complète des données consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, augmentant ainsi leur charge. Évaluez les performances de la base de données avant la migration et exécutez la migration complète pendant les heures creuses (par exemple, lorsque la charge CPU est inférieure à 30 %).

  • Taille de l'espace tablespace après la migration complète : Les opérations INSERT concurrentes pendant la migration complète des données provoquent une fragmentation des tables. L'espace tablespace dans la base de données de destination sera plus grand que dans la base de données source une fois la migration terminée.

  • Écritures dans la destination pendant la migration : L'écriture dans la base de données de destination pendant la migration peut entraîner une incohérence des données entre la source et la destination.

  • Précision FLOAT et DOUBLE : DTS utilise ROUND(COLUMN,PRECISION) pour lire les valeurs FLOAT et DOUBLE. La précision par défaut est de 38 chiffres pour FLOAT et de 308 chiffres pour DOUBLE. Vérifiez que ces paramètres de précision répondent à vos exigences.

  • Reprise automatique : DTS tente automatiquement de reprendre les tâches ayant échoué au cours des sept derniers jours. Avant de basculer les charges de travail vers l'instance de destination, arrêtez ou libérez la tâche DTS, ou exécutez REVOKE pour supprimer les autorisations d'écriture du compte DTS sur l'instance de destination.

  • Échecs DDL : Si une instruction DDL échoue dans la base de données de destination, la tâche DTS continue de s'exécuter. Affichez les instructions DDL ayant échoué dans les journaux de la tâche. Consultez Afficher les journaux de tâche.

  • Intervention du support technique : Si une tâche DTS échoue, le support technique tente de la restaurer dans un délai de 8 heures. Pendant la restauration, la tâche peut être redémarrée et les paramètres de la tâche (et non les paramètres de la base de données) peuvent être modifiés. Pour connaître les paramètres susceptibles d'être modifiés, consultez la section Modifier les paramètres de l'instance.

(Facultatif) Configurer la collecte de données incrémentielles

Ignorez cette section si vous avez uniquement besoin de la migration de schéma et de la migration complète des données.

Pour capturer les modifications incrémentielles depuis TiDB, vous avez besoin d'un cluster Kafka et soit de TiDB Binlog, soit de TiCDC. Les deux méthodes utilisent Kafka comme couche de transport. Effectuez d'abord les étapes de configuration Kafka partagées, puis suivez les étapes correspondant à la méthode choisie.

Étape 1 : Configurer un cluster Kafka

Utilisez l'une des options suivantes :

  • Cluster Kafka auto-géré : Déployez Apache Kafka en suivant la documentation Apache Kafka.

    Avertissement

    Pour gérer le volume des données de journal binaire provenant de TiDB, augmentez les paramètres suivants dans votre configuration Kafka. Consultez Configuration Kafka.

    Composant Paramètre Pourquoi
    Broker message.max.bytes Définit la taille maximale d'un message accepté par le broker. Les événements de journal binaire TiDB peuvent être volumineux, donc la limite par défaut provoque des échecs d'écriture.
    Broker replica.fetch.max.bytes Définit le nombre maximal d'octets qu'un follower peut récupérer par requête. Doit être au moins aussi grand que message.max.bytes pour répliquer les messages de grande taille.
    Consumer fetch.message.max.bytes Définit le nombre maximal d'octets qu'un consumer récupère par partition. Doit être au moins aussi grand que message.max.bytes afin que DTS puisse lire les événements complets.
  • Message Queue for Apache Kafka : Utilisez le service Kafka géré par Alibaba Cloud. Consultez Premiers pas.

    Déployez l'instance Message Queue for Apache Kafka dans le même virtual private cloud (VPC) que le serveur de la base de données source pour réduire la latence réseau et assurer une connectivité stable.

Étape 2 : Créer un topic Kafka

Créez un topic dans le cluster Kafka ou l'instance Message Queue for Apache Kafka.

Important

Le topic doit comporter exactement une partition. DTS lit les données incrémentielles uniquement à partir de la partition ayant l'ID 0.

Étape 3 : Configurer TiDB Binlog ou TiCDC

Choisissez une méthode en fonction de votre environnement :

<details> <summary>Option A : TiDB Binlog</summary>

Pour minimiser l'impact de la latence réseau, déployez le composant Pump, le composant Drainer et le cluster Kafka sur des serveurs partageant le même réseau interne que le serveur de la base de données TiDB source.
  1. Déployez les composants Pump et Drainer. Consultez Déploiement du cluster TiDB Binlog.

  2. Modifiez le fichier de configuration Drainer pour définir Kafka comme sortie. Consultez Développement personnalisé Kafka.Développement personnalisé Kafka

  3. Vérifiez que le serveur de la base de données TiDB peut se connecter au cluster Kafka.

  4. Ajoutez les blocs CIDR des serveurs DTS à la liste d'autorisation de la base de données TiDB. Consultez Ajouter les blocs CIDR des serveurs DTS.

</details>

<details> <summary>Option B : TiCDC</summary>

  1. Installez le composant TiCDC. Utilisez TiUP pour ajouter ou mettre à l'échelle TiCDC sur votre cluster TiDB existant. Consultez Déployer TiCDC.

  2. Répliquez les données incrémentielles vers Kafka en utilisant tiup cdc cli changefeed create \ comme première commande. Consultez Répliquer les données vers Kafka.

  3. Vérifiez que le serveur de la base de données TiDB peut se connecter au cluster Kafka.

</details>

Créer une tâche de migration

Étape 1 : Accéder à la page Data Migration

Utilisez l'une des méthodes suivantes :

Console DTS

  1. Connectez-vous à la console DTS.Console DTS

  2. Dans le volet de navigation de gauche, cliquez sur Data Migration.

  3. Dans le coin supérieur gauche, sélectionnez la région où réside l'instance de migration.

Console DMS

Remarque

Les étapes réelles peuvent varier en fonction du mode et de la disposition de la console DMS. Consultez Mode simple et Personnaliser la disposition et le style de la console DMS.

  1. Connectez-vous à la console DMS.Console DMS

  2. Dans la barre de navigation supérieure, placez le pointeur sur Data + AI > DTS (DTS) > Data Migration.

  3. Dans la liste déroulante à droite de Data Migration Tasks, sélectionnez la région où réside l'instance de migration.

Étape 2 : Configurer les bases de données source et de destination

  1. Cliquez sur Create Task.

  2. Sur la page de configuration de la tâche, configurez les bases de données source et de destination.

Paramètres de la base de données source

Paramètre Description
Task Name Nom de la tâche DTS. DTS génère automatiquement un nom. Spécifiez un nom descriptif pour une identification facile. Le nom n'a pas besoin d'être unique.
Select Existing Connection Sélectionnez une instance de base de données enregistrée dans la liste déroulante, ou configurez la connexion manuellement. Dans la console DMS, sélectionnez à partir de Select a DMS database instance.
Database Type Sélectionnez TiDB.
Access Method Sélectionnez le type de connexion en fonction de l'emplacement de déploiement de la base de données TiDB. Cet exemple utilise Self-managed Database on ECS. Pour les autres types de connexion, effectuez les préparations correspondantes.
Instance Region Région où se trouve la base de données TiDB.
ECS Instance ID ID de l'instance Elastic Compute Service (ECS) exécutant la base de données TiDB.
Port Number Port de service de la base de données TiDB. Par défaut : 4000.
Database Account Compte de la base de données TiDB.
Database Password Mot de passe du compte de la base de données TiDB.
Migrate Incremental Data Pour migrer les données incrémentielles, sélectionnez Yesparamètres de notification d'alerte et renseignez les informations du cluster Kafka. Consultez Paramètres du cluster Kafka.

Paramètres de la base de données de destination

Paramètre Description
Select Existing Connection Sélectionnez une instance de base de données enregistrée dans la liste déroulante, ou configurez la connexion manuellement. Dans la console DMS, sélectionnez à partir de Select a DMS database instance.
Database Type Sélectionnez PolarDB for MySQL.
Access Method Sélectionnez Alibaba Cloud Instance.
Instance Region Région où se trouve le cluster PolarDB for MySQL de destination.
Replicate Data Across Alibaba Cloud Accounts Sélectionnez No lors de l'utilisation d'une instance de base de données sous le compte Alibaba Cloud actuel.
PolarDB Cluster ID Sélectionnez l'ID du cluster PolarDB for MySQL de destination.
Database Account Compte du cluster PolarDB for MySQL de destination.
Database Password Mot de passe du compte du cluster PolarDB for MySQL de destination.
Encryption Indique s'il faut chiffrer la connexion. Pour plus de détails sur le chiffrement SSL, consultez Configurer le chiffrement SSL.

Étape 3 : Tester la connectivité

Dans la partie inférieure de la page, cliquez sur Test Connectivity and Proceed. Dans la boîte de dialogue CIDR Blocks of DTS Servers, cliquez sur Test Connectivity.

Assurez-vous que les blocs CIDR des serveurs DTS sont ajoutés aux paramètres de sécurité des bases de données source et de destination. Consultez Ajouter les blocs CIDR des serveurs DTS .

Étape 4 : Configurer les objets de migration

  1. Sur la page Configure Objects, définissez les paramètres suivants.

Types de migration et gestion des conflits

Paramètre Description
Migration Types Sélectionnez les types de migration en fonction de vos besoins : <br>- Schema Migration + Full Data Migration : migre uniquement le schéma et les données existantes. <br>- Schema Migration + Full Data Migration + Incremental Data Migration : minimise les temps d'arrêt en capturant également les modifications pendant la migration. <br>
Remarque

Si vous ignorez Schema Migration, créez manuellement la base de données et les tables cibles et activez le mappage des noms d'objets dans Selected Objects. Si vous ignorez Incremental Data Migration, évitez d'écrire dans la base de données source pendant la migration pour maintenir la cohérence des données.

Processing Mode of Conflicting Tables - Precheck and Report Errors (par défaut) : échoue la pré-vérification si la destination contient des tables portant les mêmes noms que la source. Utilisez le [mappage des noms d'objets](https://www.alibabacloud.com/help/en/dts/user-guide/map-object-names#task-2101588) pour renommer les tables en conflit. <br>- Ignore Errors and Proceed : ignore la pré-vérification pour les conflits de noms.
Avertissement

Cette option présente un risque d'incohérence des données — pendant la migration complète, DTS ignore les enregistrements en conflit ; pendant la migration incrémentielle, DTS les écrase. Si les schémas diffèrent, seules des colonnes spécifiques sont migrées ou la tâche peut échouer.

Capitalization of Object Names in Destination Instance Contrôle la casse des noms de bases de données, de tables et de colonnes dans la destination. Par défaut : DTS default policy. Consultez [Spécifier la casse des noms d'objets dans l'instance de destination](https://www.alibabacloud.com/help/en/dts/user-guide/specify-the-capitalization-of-object-names-in-the-destination-instance-2#concept-2045083).

Sélection d'objets

Paramètre Description
Source Objects Sélectionnez les tables ou bases de données à migrer. Cliquez sur Flèche vers la droite pour déplacer les objets sélectionnés vers Selected Objects.
Selected Objects Cliquez avec le bouton droit sur un objet pour le renommer. Consultez [Mapper le nom d'un seul objet](https://www.alibabacloud.com/help/en/dts/user-guide/map-object-names#section-g21-1wy-98l). Cliquez sur Batch Edit pour renommer plusieurs objets à la fois. Consultez [Mapper plusieurs noms d'objets à la fois](https://www.alibabacloud.com/help/en/dts/user-guide/map-object-names#section-2wn-exv-fib). Cliquez avec le bouton droit sur une table pour configurer une condition de filtre WHERE.
Remarque

Le renommage d'un objet peut empêcher la migration des objets dépendants.

Remarque
  1. Cliquez sur Next: Advanced Settings.

Advanced settings

Paramètre Description
Select the engine type of the destination database Moteur de stockage pour la base de données de destination : InnoDB (par défaut) ou X-Engine (pour les charges de travail OLTP).
Retry Time for Failed Connections Durée pendant laquelle DTS réessaie les connexions ayant échoué après le démarrage de la tâche. Plage : 10–1 440 minutes. Par défaut : 720. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 30 minutes. Si la connexion est rétablie dans ce délai, la tâche reprend ; sinon, elle échoue.
Remarque

Lorsque plusieurs tâches partagent la même base de données source ou de destination, la valeur définie la plus récemment est prise en compte. DTS facture l'instance pendant le temps de nouvelle tentative.

Retry Time for Other Issues Durée pendant laquelle DTS réessaie les opérations DDL ou DML ayant échoué. Plage : 1–1 440 minutes. Par défaut : 10. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 10 minutes.
Important

Cette valeur doit être inférieure à Retry Time for Failed Connections.

Enable Throttling for Full Data Migration Limite l'utilisation des ressources pendant la migration complète des données. Configurez Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Disponible uniquement lorsque Full Data Migration est sélectionné.
Enable Throttling for Incremental Data Migration Limite l'utilisation des ressources pendant la migration incrémentielle des données. Configurez RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s). Disponible uniquement lorsque Incremental Data Migration est sélectionné.
Environment Tag Tag facultatif pour identifier l'instance de migration.
Configure ETL Indique s'il faut activer l'extraction, la transformation et le chargement (ETL). Sélectionnez Yes pour saisir les instructions de traitement des données. Consultez [Qu'est-ce que l'ETL ?](https://www.alibabacloud.com/help/en/dts/user-guide/what-is-etl#task-2101705) et [Configurer l'ETL dans une tâche de migration ou de synchronisation de données](https://www.alibabacloud.com/help/en/dts/user-guide/configure-etl-in-a-data-migration-or-data-synchronization-task#task-2189872).
Monitoring and Alerting Indique s'il faut configurer des alertes pour la tâche. Sélectionnez Yes pour définir un seuil d'alerte et des contacts de notification. Consultez [Configurer la surveillance et les alertes lors de la création d'une tâche DTS](https://www.alibabacloud.com/help/en/dts/user-guide/configure-monitoring-and-alerting-1#section-r6s-w5c-kmz).
  1. Cliquez sur Next Step: Data Verification pour configurer la vérification des données. Consultez Configurer une tâche de vérification des données.

Étape 5 : Exécuter la pré-vérification

  1. Pour afficher un aperçu des paramètres API pour cette tâche, placez le pointeur sur Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.

  2. Cliquez sur Next: Save Task Settings and Precheck.

DTS exécute une pré-vérification avant de démarrer la migration. La tâche ne démarre qu'après la réussite de la pré-vérification.
Pour les éléments de pré-vérification ayant échoué, cliquez sur View Details pour diagnostiquer le problème, le résoudre, puis relancer la pré-vérification.
Pour les éléments d'alerte : si l'alerte ne peut pas être ignorée, corrigez le problème et relancez la pré-vérification. Si l'alerte peut être ignorée, cliquez sur Confirm Alert Details , puis cliquez sur Ignore > OK > Precheck Again .

Étape 6 : Acheter et démarrer l'instance

  1. Attendez que le Success Rate atteigne 100%, puis cliquez sur Next: Purchase Instance.

  2. Sur la page Purchase Instance, configurez la classe d'instance.

Paramètre Description
Resource Group Groupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez Qu'est-ce que Resource Management ?
Instance Class La classe d'instance détermine la vitesse de migration. Consultez Classes d'instance des instances de migration de données.
  1. Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms en cochant la case.

  2. Cliquez sur Buy and Start, puis cliquez sur OK.

La tâche apparaît sur la page Data Migration. Surveillez sa progression à cet endroit.

Paramètres du cluster Kafka

Configurez les paramètres suivants lorsque Migrate Incremental Data est défini sur Yes.

Paramètre Description
Kafka Cluster Type Type de connexion en fonction de l'emplacement de déploiement du cluster Kafka. Cet exemple utilise Self-managed Database on ECS. Si vous sélectionnez Express Connect, VPN Gateway, or Smart Access Gateway, sélectionnez également Connected VPC et saisissez Domain Name or IP.
Kafka Data Source Component Sélectionnez en fonction de la méthode de collecte incrémentielle que vous avez configurée : Use the default binlog format of the TiDB database. (TiDB Binlog) ou Use the TiCDC Canal-JSON format. (TiCDC).
ECS Instance ID ID de l'instance ECS exécutant le cluster Kafka.
Port Number Port de service du cluster Kafka.
Kafka Cluster Account Nom d'utilisateur du cluster Kafka. Laissez vide si l'authentification n'est pas activée.
Kafka Cluster Password Mot de passe du cluster Kafka. Laissez vide si l'authentification n'est pas activée.
Kafka Version Version du cluster Kafka. Si la version est 1.0 ou ultérieure, sélectionnez 1.0.
Encryption Sélectionnez Non-encrypted ou SCRAM-SHA-256 en fonction de vos exigences de sécurité.
Topic Topic contenant les données incrémentielles.