Migrer votre base de données Azure Database pour MySQL – Serveur flexible en utilisant l’importation et l’exportation
Cet article explique deux approches courantes de l’importation et de l’exportation de données vers une instance de serveur flexible Azure Database pour MySQL en tirant parti 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éez une instance de serveur flexible Azure Database pour MySQL en utilisant le Portail Azure.
- Télécharger et installer MySQL Workbench ou un autre outil MySQL tiers à des fins d’importation et d’exportation.
Créer une base de données sur l’instance de serveur flexible Azure Database pour MySQL
Créer une base de données vide sur l’instance de serveur flexible Azure Database pour MySQL en utilisant 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 :
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.
Ajoutez les informations de connexion à MySQL Workbench.
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 spécifiquement plusieurs tables à importer à partir d’une base de données MySQL existante vers 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
Le serveur unique Azure Database pour MySQL et serveur flexible Azure Database pour MySQL prennent uniquement en charge le moteur de stockage InnoDB. Vérifiez que toutes les tables de la base de données utilisent le moteur de stockage InnoDB lors du chargement de 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 au serveur unique Azure Database pour MySQL ou serveur flexible Azure Database pour MySQL 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 le serveur flexible Azure Database pour MySQL, utilisez <username> uniquement. 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
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 :
- Cliquez avec le bouton droit sur la table de la base de données à exporter.
- 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).
- 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.
- Sur la page Sélectionner l’emplacement du fichier de sortie, sélectionnez Suivant.
- 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 :
- Cliquez avec le bouton droit sur la table de la base de données à importer.
- Recherchez et sélectionnez le fichier CSV à importer, puis sélectionnez Suivant.
- 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.
- Sélectionnez le codage et les colonnes à importer, puis sélectionnez Suivant.
- 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
Vous pouvez utiliser le volet Exportation des données pour exporter vos données MySQL.
Dans MySQL Workbench, dans le volet Navigateur, sélectionnez Exportation de données.
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.
Sélectionnez les objets de base de données à exporter et configurez les options associées.
Sélectionnez Actualiser pour charger les objets actifs.
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 instructionsinsert
et placez les identificateurs entre accents graves.Sélectionnez Start Export (Démarrer l’exportation) pour commencer le processus d’exportation.
Importer des données
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.
- Dans MySQL Workbench, dans le volet Navigateur, sélectionnez Importation/Restauration de données.
- 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.
- Sélectionnez Start Import (Démarrer l’importation) pour commencer le processus d’importation.