Migrer votre Azure Database pour MySQL - Base de données serveur flexible à l’aide de l’importation et de l’exportation

S’APPLIQUE À : Azure Database pour MySQL - Serveur unique Azure Database pour MySQL - Serveur flexible

Important

Azure Database pour MySQL serveur unique se trouve sur le chemin de mise hors service. Nous vous recommandons vivement de procéder à la mise à niveau vers Azure Database pour MySQL serveur flexible. Pour plus d’informations sur la migration vers Azure Database pour MySQL serveur flexible, consultez Ce qui se passe pour Azure Database pour MySQL serveur unique ?

Cet article explique deux approches courantes pour l’importation et l’exportation de données vers une instance de serveur flexible Azure Database pour MySQL à l’aide de MySQL Workbench.

Pour obtenir des conseils de migration détaillés et complets, consultez les Ressources du guide de migration.

Pour d’autres scénarios de migration, consultez le Guide de migration des bases de données.

Prérequis

Avant de commencer la migration de votre base de données MySQL, vous devez :

Créer une base de données sur l’instance de serveur flexible Azure Database pour MySQL

Créez une base de données vide sur l’instance de serveur flexible Azure Database pour MySQL à l’aide de MySQL Workbench, Toad ou Navicat. La base de données peut avoir le même nom que celle qui contient les données sauvegardées, mais vous pouvez également créer une base de données avec un autre nom.

Pour vous connecter, procédez comme suit :

  1. Dans le Portail Azure, recherchez les informations de connexion dans le volet Vue d’ensemble de votre instance de serveur flexible Azure Database pour MySQL.

    Screenshot of the Azure Database for MySQL flexible server instance connection information in the Azure portal.

  2. Ajoutez les informations de connexion à MySQL Workbench.

    Screenshot of the MySQL Workbench connection string.

Déterminer quand utiliser des techniques d’importation et d’exportation

Conseil

Pour les scénarios dans lesquels vous voulez vider et restaurer la base de données dans sa totalité, utilisez plutôt la méthode de vidage et restauration.

Dans les scénarios suivants, utilisez les outils MySQL pour importer et exporter des bases de données dans votre base de données MySQL. Pour les autres outils, accédez à la section « Méthodes de migration » (page 22) du Guide de migration de MySQL vers Azure Database.

  • Lorsque vous devez choisir sélectivement quelques tables à importer à partir d’une base de données MySQL existante dans votre base de données de serveur flexible Azure Database pour MySQL, il est préférable d’utiliser la technique d’importation et d’exportation. En procédant ainsi, vous pouvez omettre toutes les tables non nécessaires de la migration pour économiser du temps et des ressources. Par exemple, utilisez le commutateur --include-tables ou --exclude-tables avec mysqlpump et le commutateur --tables avec mysqldump.
  • Lorsque vous déplacez des objets de base de données autres que des tables, vous devez les créer explicitement. Incluez les contraintes (clé primaire, clé étrangère et index), vues, fonctions, procédures, déclencheurs et tout autre objet de base de données que vous souhaitez migrer.
  • Lorsque vous effectuez la migration de données à partir de sources de données externes autres qu’une base de données MySQL, créez des fichiers plats et importez-les à l’aide de mysqlimport.

Important

Les deux Azure Database pour MySQL serveur unique et Azure Database pour MySQL serveur flexible prennent uniquement en charge le moteur de stockage InnoDB. Assurez-vous que toutes les tables de la base de données utilisent le moteur de stockage InnoDB lorsque vous chargez des données dans votre instance de serveur flexible Azure Database pour MySQL.

Si votre base de données source utilise un autre moteur de stockage, effectuez une conversion vers le moteur InnoDB avant de migrer la base de données. Par exemple, si votre site WordPress ou votre application web utilise le moteur MyISAM, commencez par convertir les tables en effectuant une migration des données vers des tables InnoDB. Utilisez la clause ENGINE=INNODB pour définir le moteur utilisé pour la création d’une table, puis transférez les données dans la table compatible avant la migration.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Recommandations en matière de performances pour l’importation et l’exportation

Pour des performances optimales pour l’importation et l’exportation des données, nous vous recommandons d’effectuer les opérations suivantes :

  • Créez des index cluster et des clés primaires avant de charger des données. Chargez les données dans l’ordre des clés primaires.
  • Reportez la création des index secondaires après le chargement des données.
  • Désactivez les contraintes de clé étrangère avant de charger les données. La désactivation des vérifications de clé étrangère offre d’importants gains de performances. Activez les contraintes et vérifiez les données après le chargement pour garantir l’intégrité référentielle.
  • Chargez les données en parallèle. Évitez tout parallélisme excessif, qui vous ferait atteindre une limite de ressources, et surveillez les ressources à l’aide des mesures disponibles dans le Portail Azure.
  • Utilisez des tables partitionnées le cas échéant.

Importer et exporter des données à l’aide de MySQL Workbench

Il existe deux façons d’exporter et d’importer des données dans MySQL Workbench : dans le menu contextuel de l’Explorateur d’objets ou dans le volet Navigateur. Chaque méthode répond à un objectif différent.

Remarque

Si vous ajoutez une connexion à Azure Database pour MySQL serveur unique ou Azure Database pour MySQL serveur flexible sur MySQL Workbench, procédez comme suit :

  • Pour Azure Database pour MySQL serveur unique, vérifiez que le nom d’utilisateur est au format <username@servername>.
  • Pour Azure Database pour MySQL serveur flexible, utilisez uniquement le nom d’utilisateur>.< Si vous utilisez <username@servername> pour vous connecter, la connexion échouera.

Exécutez les assistants d’importation et d’exportation de données de table accessibles à partir du menu contextuel de l’Explorateur d’objets

Screenshot of the MySQL Workbench export and import wizard commands on the object browser's context menu.

Les assistants de données de table prennent en charge les opérations d’importation et d’exportation à l’aide de fichiers CSV et JSON. Les assistants offrent plusieurs options de configuration, notamment les séparateurs, la sélection de colonne et la sélection du codage. Vous pouvez exécuter chaque Assistant sur des serveurs MySQL locaux ou connectés à distance. L’action d’importation inclut le mappage de table, de colonne et de type.

Pour accéder à ces assistants à partir du menu contextuel de l’Explorateur d’objets, cliquez avec le bouton droit sur une table, puis sélectionnez Assistant Exportation de données de table ou Assistant Importation de données de table.

L’Assistant Exportation de données de table

Pour exporter une table dans un fichier CSV :

  1. Cliquez avec le bouton droit sur la table de la base de données à exporter.
  2. Sélectionnez Assistant Exportation de données de table. Sélectionnez les colonnes à exporter, le décalage de ligne (le cas échéant) et le nombre (le cas échéant).
  3. Sur la page Sélectionner les données à exporter, sélectionnez Suivant. Sélectionnez le chemin d’accès et le type de fichier CSV ou JSON. Sélectionnez également le séparateur de ligne, les caractères entourant les chaînes et le séparateur de champs.
  4. Sur la page Sélectionner l’emplacement du fichier de sortie, sélectionnez Suivant.
  5. Dans le volet Exporter des données, sélectionnez Suivant.

L’Assistant Importation de données de table

Pour importer une table à partir d’un fichier CSV :

  1. Cliquez avec le bouton droit sur la table de la base de données à importer.
  2. Recherchez et sélectionnez le fichier CSV à importer, puis sélectionnez Suivant.
  3. Sélectionnez la table de destination (nouvelle ou existante), puis activez ou désactivez la case à cocher Truncate table before import (Tronquer la table avant l’importation) et sélectionnez Suivant.
  4. Sélectionnez le codage et les colonnes à importer, puis sélectionnez Suivant.
  5. Dans le volet Importer des données, sélectionnez Suivant. L’Assistant importe les données en.

Exécuter les assistants d’exportation et d’importation de données SQL accessibles à partir du volet Navigateur

Utilisez un Assistant pour exporter ou importer des données SQL générées à partir de MySQL Workbench ou avec la commande mysqldump. Vous pouvez accéder aux assistants à partir du volet Navigateur, ou vous pouvez sélectionner Serveur dans le menu principal.

Exporter des données

Screenshot of using the Navigator pane to display the Data Export pane in MySQL Workbench.

Vous pouvez utiliser le volet Exportation des données pour exporter vos données MySQL.

  1. Dans MySQL Workbench, dans le volet Navigateur, sélectionnez Exportation de données.

  2. Dans le volet Exportation de données, sélectionnez chaque schéma que vous souhaitez exporter.

    Pour chaque schéma, vous pouvez sélectionner des objets de schéma ou des tables spécifiques à exporter. Parmi les options de configuration figurent la possibilité d’exporter dans un dossier de projet ou un fichier SQL autonome, de vider les événements et les routines stockés et d’ignorer les données de table.

    Vous pouvez également utiliser l’option Export a Result Set (Exporter un jeu de résultats) pour exporter un jeu de résultats spécifique de l’éditeur SQL vers un autre format, par exemple CSV, JSON, HTML ou XML.

  3. Sélectionnez les objets de base de données à exporter et configurez les options associées.

  4. Sélectionnez Actualiser pour charger les objets actifs.

  5. Si vous le souhaitez, sélectionnez Options avancées en haut à droite pour affiner l’opération d’exportation. Par exemple, ajoutez des verrous de table, utilisez des instructions replace à la place des instructions insert et placez les identificateurs entre accents graves.

  6. Sélectionnez Start Export (Démarrer l’exportation) pour commencer le processus d’exportation.

Importer des données

Screenshot of using the Navigator pane to display the Data Import pane in MySQL Workbench.

Vous pouvez utiliser le volet Data Import (Importation des données) pour importer ou restaurer les données exportées avec l’opération d’exportation de données ou la commande mysqldump.

  1. Dans MySQL Workbench, dans le volet Navigateur, sélectionnez Importation/Restauration de données.
  2. Choisissez le dossier du projet ou le fichier SQL autonome puis le schéma dans lequel importer, ou sélectionnez le bouton Nouveau pour définir un nouveau schéma.
  3. Sélectionnez Start Import (Démarrer l’importation) pour commencer le processus d’importation.

Étapes suivantes