Tous les produits
Search
Centre de documentation

Data Transmission Service:Modifier en toute transparence le jeu de caractères d'une instance ApsaraDB RDS for MySQL

Dernière mise à jour :Oct 12, 2026

La modification du jeu de caractères d'une table (par exemple, de gbk à utf8mb4) à l'aide de la commande ALTER verrouille la table, ce qui peut avoir un impact significatif sur vos services lorsque la table est volumineuse.

Pour éviter le verrouillage des tables, vous pouvez créer un schéma de table avec le nouveau jeu de caractères dans une instance de destination, migrer les données depuis l'instance source à l'aide de Data Transmission Service (DTS), et mettre en place une solution de restauration ou d'écriture double afin de garantir une transition fluide.

Précautions

  • Avant de modifier le jeu de caractères, testez vos applications et vos instructions SQL pour vérifier qu'elles sont compatibles avec le nouveau jeu de caractères.

  • Lors d'une migration complète des données, DTS consomme des ressources de lecture et d'écriture sur les instances source et de destination, ce qui peut augmenter la charge de la base de données. Évaluez les performances des deux instances et envisagez de migrer les données pendant les heures creuses.

  • Si une table de l'instance source ne possède ni clé primaire ni contrainte d'unicité, et que ses colonnes ne garantissent pas l'unicité, la migration risque de créer des données en double dans l'instance de destination.

Instructions

Étape 1 : Exporter et importer le schéma de la table

Dans cet exemple, toutes les instances accessibles via Data Management (DMS) utilisent le Flexible Control Mode.

  1. Exportez le script de schéma des tables dont vous souhaitez modifier le jeu de caractères depuis l'instance source.

    1. Connectez-vous à l'instance source à l'aide de DMS. Pour plus d'informations, consultez la rubrique Se connecter à une instance ApsaraDB RDS avec DMS.

    2. Dans la barre de navigation supérieure, choisissez Database Development > Data Export > Database Export.

      Remarque

      Pour effectuer cette opération, vous devez d'abord activer l'option Drop-down Menus in Top Navigation Bar dans le menu des paramètres, accessible via l'icône 设置 située dans le coin supérieur droit.

    3. Configurez les paramètres d'exportation.

      Remarque

      Les paramètres requis et le processus de configuration peuvent varier en fonction du mode de gestion de l'instance de destination. Pour plus d'informations, consultez la rubrique Exporter des bases de données.

      Paramètre

      Description

      Data Export Type in Application

      Sélectionnez Database Export.

      Database name

      Sélectionnez la base de données que vous souhaitez exporter.

      Remarque

      Vous devez disposer des autorisations requises pour exporter la base de données. Pour plus d'informations, consultez la rubrique Afficher mes autorisations.

      Exported table

      Dans cet exemple, l'option Specific Tables est sélectionnée. Vous pouvez choisir Specific Tables ou All Tables selon vos besoins.

      Remarque

      Si vous sélectionnez Specific Tables, vous devez sélectionner les tables et configurer les conditions de filtrage sur le côté droit de la page.

      Export content

      Sélectionnez Code Structure.

      File Format

      Dans cet exemple, le format SQL est sélectionné par défaut et ne peut pas être modifié.

      Exported Structure Type

      Sélectionnez les types de schéma à exporter en fonction de vos besoins métier.

      • Procedure

      • Function

      • Trigger

      • View

      • Event

      Remarque

      Les types de schéma pris en charge varient selon le type de base de données. Les options affichées dans la console font foi.

      More Options

      Cliquez sur Big Data Export Options ou SQL Script Options, puis sélectionnez les options requises.

    4. Cliquez sur Submit an application et attendez l'approbation du ticket.

    5. Une fois le ticket approuvé, dans la section Download, cliquez sur Download Exported File. Le lien de téléchargement reste valide pendant 24 heures. Veillez à télécharger le fichier dans ce délai.

  2. Décompressez le fichier téléchargé. Ouvrez ensuite le script de schéma et modifiez la configuration du jeu de caractères pour utiliser le jeu de caractères cible.字符集

  3. Achetez une nouvelle instance ApsaraDB RDS for MySQL avec les mêmes spécifications que l'instance source. Pour plus d'informations, consultez la rubrique Créer une instance ApsaraDB RDS for MySQL.

  4. Importez le script de schéma modifié dans la nouvelle instance ApsaraDB RDS for MySQL.

    1. Connectez-vous à la nouvelle instance ApsaraDB RDS for MySQL à l'aide de DMS. Pour plus d'informations, consultez la rubrique Se connecter à une instance ApsaraDB RDS avec DMS.

    2. Dans la barre de navigation supérieure, choisissez Database Development > Data Change > Data Import.

    3. Configurez les paramètres d'importation.

      Remarque

      Les paramètres requis et le processus de configuration peuvent varier en fonction du mode de gestion de l'instance. Pour plus d'informations, consultez la rubrique Importer des données.

      Paramètre

      Description

      Data Change Type in Application

      Sélectionnez Large Data Import.

      Database

      Base de données de destination pour l'importation.

      Remarque

      Pour les instances en mode Flexible ou Stable Control Mode, vous devez vous connecter à la base de données avant de pouvoir la sélectionner.

      File Encoding

      Sélectionnez l'encodage de caractères du fichier d'importation :

      • UTF-8

      • GBK

      • ISO-8859-1

      • Détection automatique

      Import Mode

      Sélectionnez un mode d'importation :

      • Speed Mode : Lors de la phase d'exécution, le système lit le fichier et exécute directement les instructions SQL sur la base de données de destination. Ce mode est plus rapide mais moins sécurisé que le mode Security Mode.

        Remarque

        Par défaut, les règles de sécurité pour le mode Speed Mode n'autorisent pas l'importation de données en mode Speed Mode. Vous pouvez activer cette fonctionnalité pour la règle de sécurité concernée dans Security Rules > SQL Correct > Basic Configuration Item.

      • Security Mode : Lors de la phase de précontrôle, le système analyse le fichier et met en cache les données SQL ou CSV. Lors de la phase d'exécution, il lit les données depuis le cache et exécute les instructions sur la base de données de destination. Ce mode offre une meilleure sécurité, mais est plus lent que le mode Speed Mode.

      File Type

      Sélectionnez le type de fichier que vous importez.

      • Script SQL : En mode Security Collaboration, seuls les types de commande INSERT et REPLACE sont autorisés par défaut. Un administrateur de base de données (DBA) ou un administrateur peut modifier ces paramètres dans Security Rules > SQL Correct > Large Data Import.

      • CSV : Le délimiteur dans le fichier doit être une virgule.

      • Excel : Le fichier Excel peut contenir des en-têtes (attributs) ou uniquement des données.

      Attachment

      Cliquez sur File pour télécharger la pièce jointe.

      Remarque
      • Les types de fichiers SQL, CSV, TXT, XLSX et ZIP sont pris en charge.

      • La taille maximale du fichier est de 5 Go.

      Other Options

      Indiquez si les erreurs doivent être ignorées.

      • Ne pas ignorer (désactivé) : Option par défaut. En cas d'erreur, le système arrête l'exécution des instructions SQL suivantes et signale une erreur.

      • Ignorer (activé) : En cas d'erreur, le système l'ignore et continue d'exécuter les instructions SQL suivantes.

    4. Cliquez sur Submit an application. Attendez que le précontrôle système soit réussi. Si le précontrôle échoue, identifiez et corrigez le problème en suivant les instructions, puis soumettez à nouveau le ticket.

      Remarque

      Le système effectue un précontrôle de votre script SQL téléchargé. Si vous téléchargez un fichier CSV, il génère les instructions INSERT correspondantes.

    5. Une fois le ticket approuvé, dans la section Perform, cliquez sur Execute Change.

    6. Dans la boîte de dialogue Task Settings, choisissez le moment d'exécution du ticket. Vous pouvez choisir Execute Immediately. Sinon, désactivez l'option Execute Immediately et sélectionnez une heure de début. Cliquez ensuite sur Confirm Execution. La boîte de dialogue affiche également une Note for Security Change : Essayez d'exécuter l'opération pendant les heures creuses.

      Les méthodes d'exécution sont les suivantes :

      • Running Immediately : Option par défaut. La tâche s'exécute immédiatement après que vous avez cliqué sur Confirm Execution.

      • Schedule : Sélectionnez une heure de début pour la tâche. La tâche s'exécute automatiquement à l'heure spécifiée après que vous avez cliqué sur Confirm Execution.

      Remarque
      • Pendant l'exécution, le système lit les instructions SQL analysées en flux continu et les exécute par lots dans la base de données. La taille de chaque lot est de 1 Mo.

      • Vous pouvez afficher l'état de la tâche, les détails de la vérification SQL et les journaux de planification dans la section Execution.

      • Lorsqu'une tâche en pause est redémarrée, son comportement dépend du mode d'importation :

        • Mode Speed Mode : L'exécution du script ou l'importation du fichier de données recommence depuis le début.

        • Mode Security Mode : L'exécution du script ou l'importation du fichier de données reprend à partir du point de pause.

    7. Une fois l'importation réussie, vous pouvez vérifier le jeu de caractères de la table en exécutant la commande show create table <table_name>;.

  5. Étape 2 : Migrer les données vers la nouvelle instance

    1. Connectez-vous à la .

      Remarque
      • Si vous êtes redirigé automatiquement vers la console Data Management (DMS), cliquez sur l'icône 返回旧版返回旧版 située dans le chatbot jiqirenjiqiren en bas à droite pour revenir à la version précédente de la console DTS.

      • Si vous utilisez la nouvelle console DTS, cliquez sur l'icône 返回旧版返回旧版 en bas à droite pour revenir à la version précédente.

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

    3. En haut de la page Migration Tasks, sélectionnez la région du cluster de destination.

    4. Dans le coin supérieur droit de la page, cliquez sur Create Data Migration Task.

    5. Configurez les bases de données source et de destination pour la tâche de migration.

      Catégorie

      Paramètre

      Description

      Nom de la tâche

      -

      DTS génère automatiquement un nom de tâche. Spécifiez un nom descriptif pour faciliter l'identification. Le nom n'a pas besoin d'être unique.

      Base de données source

      Type d'instance

      Sélectionnez RDS Instance.

      Région de l'instance

      Sélectionnez la région où se trouve l'instance RDS source.

      ID de l'instance RDS

      Sélectionnez l'ID de l'instance RDS source.

      Compte de base de données

      Saisissez le compte de base de données pour l'instance RDS source. Ce compte doit disposer des autorisations de lecture et d'écriture sur les bases de données à migrer.

      Mot de passe de la base de données

      Saisissez le mot de passe du compte de base de données.

      Remarque

      Après avoir saisi les informations de la base de données source, vous pouvez cliquer sur Test Connectivity à côté de Database Password pour vérifier que les informations sont correctes. Si les informations sont correctes, le message Passed s'affiche. Si le message Failed s'affiche, cliquez sur Diagnose à côté du message Failed et ajustez les informations de la base de données source selon les instructions.

      Méthode de connexion

      Sélectionnez Non-encrypted ou SSL-encrypted. Si vous choisissez SSL-encrypted, vous devez d'abord activer le chiffrement SSL pour l'instance RDS. Pour plus d'informations, consultez Configurer le chiffrement SSL.

      Remarque

      Le paramètre Encryption est disponible uniquement dans les régions de Chine continentale.

      Base de données de destination

      Type d'instance

      Sélectionnez RDS Instance.

      Région de l'instance

      Sélectionnez la région où se trouve l'instance RDS de destination.

      ID de l'instance RDS

      Sélectionnez l'ID de l'instance RDS de destination.

      Compte de base de données

      Saisissez le compte de base de données pour l'instance RDS de destination. Ce compte doit disposer des autorisations de lecture et d'écriture sur les bases de données de destination.

      Mot de passe de la base de données

      Saisissez le mot de passe du compte de base de données.

      Remarque

      Après avoir saisi les informations de la base de données de destination, vous pouvez cliquer sur Test Connectivity après Database Password pour vérifier que les informations saisies sont correctes. Si les informations sont correctes, un message Passed s'affiche. Si un message Failed s'affiche, cliquez sur Diagnose après Failed et ajustez les informations de la base de données de destination selon les instructions.

      Méthode de connexion

      Sélectionnez Non-encrypted ou SSL-encrypted. Si vous choisissez SSL-encrypted, vous devez d'abord activer le chiffrement SSL pour l'instance RDS. Pour plus d'informations, consultez Configurer le chiffrement SSL.

      Remarque

      Le paramètre Encryption est disponible uniquement dans les régions de Chine continentale.

    6. Une fois la configuration terminée, cliquez sur Add Whitelist and Proceed to Next Step dans le coin inférieur droit de la page.

      Remarque

      Les adresses IP des serveurs DTS sont automatiquement ajoutées à la liste d'autorisation de l'instance ApsaraDB RDS for MySQL afin de garantir la connectivité entre les serveurs DTS et les instances source et de destination.

    7. Sélectionnez les types de migration et les objets.

      Paramètre

      Description

      Types de migration

      Étant donné que la migration du schéma a été effectuée à l'étape 1, il n'est pas nécessaire de sélectionner Schema Migration ici.

      • Pour effectuer uniquement une migration complète, sélectionnez seulement Full Data Migration.

        Avertissement

        Pour garantir la cohérence des données, n'écrivez pas de nouvelles données dans l'instance source pendant la migration complète des données.

      • Pour une migration sans temps d'arrêt, sélectionnez à la fois Full Data Migration et Incremental Data Migration.

        Remarque

        Les opérations SQL prises en charge lors de la phase de migration incrémentielle des données sont INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, RENAME TABLE, TRUNCATE TABLE et DROP TABLE.

      Objets de migration

      Dans la zone Migration Object, sélectionnez les objets dont les schémas ont été migrés à l'étape 1. Cliquez ensuite sur l'icône 向右小箭头 pour les déplacer vers la zone Selected Objects.

      Avertissement

      N'effectuez pas de mappage de noms d'objets, car le schéma est déjà migré. Cela entraînerait l'échec de la migration.

    8. Démarrez la tâche de migration.

      1. Dans le coin inférieur droit de la page, cliquez sur Precheck and Start.

        Remarque
        • DTS effectue une vérification préalable avant de démarrer la tâche de migration. La tâche ne peut se poursuivre qu'après avoir réussi cette vérification.

        • Si la vérification préalable échoue, cliquez sur l'icône 提示提示 à côté d'un élément de vérification spécifique pour afficher ses détails. Corrigez le problème selon les instructions, puis exécutez à nouveau la vérification préalable.

      2. Une fois la vérification préalable réussie, cliquez sur Next.

      3. Dans la boîte de dialogue Confirm Settings, sélectionnez la Instance Class et cochez la case Data Transmission Service (Pay-As-You-Go) Terms of Service.

      4. Cliquez sur Buy and Start pour démarrer la tâche de migration.

    Étape 3 : Effectuer le basculement de la charge de travail

    Choisissez l'une des solutions suivantes en fonction de vos besoins métier.

    • Solution de retour arrière (aucune modification de l'application requise, mais le retour arrière peut échouer) :

      1. Vérifiez les données migrées dans l'instance ApsaraDB RDS for MySQL de destination.

      2. Suivez la procédure décrite dans le document Procédure de basculement de la charge de travail pour basculer votre charge de travail et établir un plan de retour arrière. Cette opération implique la migration des données incrémentielles de la nouvelle instance de destination vers l'instance source d'origine.

      3. Maintenez la tâche de migration inverse des données active pendant un cycle métier complet. À l'issue de ce cycle, testez toutes les fonctionnalités. Si tout fonctionne correctement, arrêtez la tâche de migration inverse des données.

      4. Facultatif : Si l'instance source n'est plus nécessaire, vous pouvez la libérer (s'il s'agit d'une instance en paiement à l'utilisation) ou vous désabonner (s'il s'agit d'une instance par abonnement).

    • Solution de double écriture (taux de réussite du retour arrière plus élevé, mais nécessite des modifications importantes de l'application) :

      1. Modifiez votre application pour mettre en œuvre une logique de double écriture, où les modifications de données sont écrites simultanément dans les instances source et de destination.

      2. Arrêtez la tâche de migration des données.

        • Migration complète des données

          N'arrêtez pas manuellement une tâche pendant la migration complète des données. Dans le cas contraire, le système risque de ne pas migrer l'intégralité des données. Attendez que la tâche de migration se termine automatiquement.

        • Migration incrémentielle des données

          Ce type de tâche ne s'arrête pas automatiquement ; vous devez l'arrêter manuellement.

          1. Attendez que la tâche passe à l'étape Incremental Data Migration avec le statut Undelayed. Ensuite, suspendez les écritures dans la base de données source pendant quelques minutes. Durant cette période, le statut Incremental Data Migration peut indiquer une latence.

          2. Attendez que le statut Incremental Data Migration revienne à Undelayed. Une fois cela confirmé dans la liste, cochez la case correspondant à la tâche et cliquez sur le bouton StopEnd dans la barre d'opérations par lot en bas de page.

        Remarque

        Vous pouvez vous connecter à l'instance source et exécuter show processlist; pour vérifier les informations de session et vous assurer qu'aucune nouvelle session n'effectue d'opérations d'écriture.

      3. Vérifiez les données migrées dans l'instance ApsaraDB RDS for MySQL de destination.

      4. Configurez votre application pour la double écriture, afin que les modifications de données soient écrites dans les instances source et de destination.

      5. Maintenez l'état de double écriture pendant un cycle métier complet. À l'issue de ce cycle, testez toutes les fonctionnalités. Si tout fonctionne correctement, ajustez l'application pour qu'elle écrive uniquement dans l'instance de destination.

      6. Facultatif : Si l'instance source n'est plus nécessaire, vous pouvez la libérer (s'il s'agit d'une instance en paiement à l'utilisation) ou vous désabonner (s'il s'agit d'une instance par abonnement).