Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez utiliser Azure Database Migration Service pour effectuer une migration transparente de votre instance MySQL externe vers Azure Database pour MySQL avec une fonctionnalité de migration de données à grande vitesse. Dans ce tutoriel, nous allons migrer un exemple de base de données d’une instance locale de MySQL 5.7 vers Azure Database pour MySQL (v5.7) à l’aide d’une activité de migration hors connexion dans Azure Database Migration Service. Bien que les articles supposent que la source est une instance de base de données MySQL et que la cible est Azure Database pour MySQL, elle peut être utilisée pour migrer d'une base de données Azure pour MySQL à une autre en modifiant simplement le nom et les informations d'identification du serveur source. En outre, la migration de serveurs MySQL de version inférieure (v5.6 et versions ultérieures) vers des versions ultérieures est également prise en charge.
Remarque
Pour obtenir une version scriptable PowerShell de cette expérience de migration, consultez Migration hors connexion scriptable vers Azure Database pour MySQL.
Amazon Relational Database Service (RDS) pour MySQL et Amazon Aurora (MySQL) sont également pris en charge en tant que sources pour la migration.
Dans ce tutoriel, vous allez apprendre à :
- Créer une instance DMS.
- Créer un projet de migration MySQL dans DMS.
- Migrer un schéma MySQL à l’aide de DMS.
- Exécuter la migration.
- Surveiller la migration.
Prérequis
Pour suivre ce didacticiel, vous devez effectuer les opérations suivantes :
Vous devez disposer d’un compte Azure avec un abonnement actif. Créez un compte gratuitement.
Vous devez disposer d’une base de données MySQL locale de version 5.7. Si ce n’est pas le cas, téléchargez et installez MySQL Community Edition 5.7.
Créez un réseau virtuel Microsoft Azure pour Azure Database Migration Service à l’aide du modèle de déploiement Azure Resource Manager, qui fournit une connectivité site à site à vos serveurs sources locaux via ExpressRoute ou un VPN. Pour plus d’informations sur la création d’un réseau virtuel, consultez la documentation sur le réseau virtuel, en particulier les articles sur le démarrage rapide, qui fournissent des informations pas à pas.
Pendant la configuration du réseau virtuel, si vous utilisez ExpressRoute avec le peering réseau à Microsoft, ajoutez ces points de terminaison au sous-réseau où doit être provisionné le service :
- Point de terminaison de base de données cible (par exemple, un point de terminaison SQL, un point de terminaison Azure Cosmos DB, etc.)
- Point de terminaison de stockage
- Point de terminaison Service Bus
Cette configuration est nécessaire car Azure Database Migration Service ne dispose pas d’une connectivité Internet.
Vérifiez que vos règles de groupe de sécurité réseau virtuel ne bloquent pas le port sortant 443 de ServiceTag pour ServiceBus, Stockage et AzureMonitor. Pour plus d’informations sur le filtrage du trafic de groupe de sécurité réseau de réseau virtuel, consultez l’article Filtrer le trafic avec les groupes de sécurité réseau.
Ouvrez le Pare-feu Windows pour autoriser les connexions à partir du réseau virtuel pour Azure Database Migration Service à accéder au serveur MySQL source, qui est par défaut le port TCP 3306.
Lorsque vous utilisez une appliance de pare-feu devant vos bases de données sources, vous devrez peut-être ajouter des règles de pare-feu pour autoriser les connexions à partir du réseau virtuel pour Azure Database Migration Service à accéder aux bases de données sources pour la migration.
Créez une règle de pare-feu au niveau du serveur ou configurez des points de terminaison de service de réseau virtuel pour la base de données cible Azure Database for MySQL, afin de permettre l'accès via le réseau virtuel au Azure Database Migration Service pour accéder aux bases de données cibles.
Le serveur MySQL source doit être sur une édition MySQL Community prise en charge. Pour déterminer la version de l’instance MySQL, exécutez la commande suivante dans l’utilitaire MySQL ou MySQL Workbench :
SELECT @@VERSION;Azure Database pour MySQL ne prend en charge que les tables InnoDB. Pour convertir les tables MyISAM en InnoDB, consultez l’article Convertir des tables MyISAM en InnoDB
L’utilisateur doit disposer des privilèges nécessaires à la lecture des données sur la base de données source.
Pour réussir une migration de schéma, sur le serveur source, l’utilisateur effectuant la migration a besoin des privilèges suivants :
- Privilège SELECT au niveau du serveur sur la source.
- Si vous migrez des vues, l’utilisateur doit disposer du privilège SHOW VIEW sur le serveur source et du privilège CREATE VIEW sur le serveur cible.
- Si vous migrez des déclencheurs, l’utilisateur doit disposer du privilège TRIGGER sur le serveur source et cible.
- Si vous migrez des routines (procédures et/ou fonctions), l’utilisateur doit disposer des privilèges CREATE ROUTINE et ALTER ROUTINE accordés au niveau du serveur sur la cible.
- Si vous migrez des événements, l’utilisateur doit disposer du privilège EVENT sur le serveur source et cible.
- Si vous migrez des utilisateurs/connexions, l’utilisateur doit disposer du privilège CREATE USER sur le serveur cible.
- Privilège DROP au niveau du serveur sur la cible afin de supprimer des tables qui pourraient déjà exister. Par exemple, lors d’une nouvelle tentative de migration.
- Privilège REFERENCES au niveau du serveur sur la cible afin de créer des tables avec des clés étrangères.
- Si vous migrez vers MySQL 8.0, l’utilisateur doit disposer du privilège SESSION_VARIABLES_ADMIN sur le serveur cible.
- Privilège CREATE au niveau du serveur sur la cible.
- Privilège INSERT au niveau du serveur sur la cible.
- Privilège UPDATE au niveau du serveur sur la cible.
- Privilège DELETE au niveau du serveur sur la cible.
Redimensionner l’instance Azure Database pour MySQL cible
Pour préparer le serveur Azure Database pour MySQL cible afin d’accélérer les chargements de données à l’aide de Azure Database Migration Service, les paramètres de serveur et les modifications de configuration suivants sont recommandés.
max_allowed_packet: défini sur 1073741824 (autrement dit, 1 Go) pour empêcher tout problème de connexion en raison de lignes volumineuses.slow_query_log: réglé surOFFpour désactiver le journal des requêtes lentes. Cela élimine la surcharge causée par la journalisation lente des requêtes pendant les chargements de données.query_store_capture_mode: défini surNONEpour désactiver le Magasin des requêtes. Cela élimine la surcharge causée par le Query Store lors des activités d’échantillonnage.innodb_buffer_pool_size– Innodb_buffer_pool_size ne peut être augmenté qu’en effectuant un scale-up du calcul pour le serveur Azure Database pour MySQL. Effectuez un scale-up du serveur vers la SKU 64 vCores à usage général à partir du niveau tarifaire du portail pendant la migration afin d’augmenter la valeurinnodb_buffer_pool_size.innodb_io_capacityetinnodb_io_capacity_max: passez à9000à partir des paramètres de serveur dans le Portail Azure pour améliorer l’utilisation des E/S afin d’optimiser la vitesse de la migration.innodb_write_io_threadsetinnodb_write_io_threads- Passez à4depuis les paramètres du serveur sur le portail Azure pour améliorer la vitesse de migration.Effectuer un scale-up du niveau de stockage : le nombre d’opérations d’E/S par seconde (IOPS) pour le serveur Azure Database pour MySQL augmente progressivement.
- Dans l’option de déploiement de serveur flexible, nous vous recommandons de mettre à l’échelle (augmenter ou diminuer) les IOPS, quelle que soit la taille de stockage.
- La taille de stockage peut seulement monter en puissance.
Sélectionnez la taille de calcul et le niveau de calcul du serveur flexible cible en fonction de la configuration du serveur MySQL source.
1 Pour la migration, en guise de bonne pratique, sélectionnez calcul à usage général 16 vCores ou version ultérieure pour le serveur flexible cible pour des migrations plus rapides. Effectuez un scale-back à la taille de calcul souhaitée pour le serveur cible une fois la migration terminée.
Une fois la migration terminée, vous pouvez rétablir les valeurs requises des paramètres et de la configuration du serveur par votre charge de travail.
Configurer DMS
Avec votre serveur flexible cible déployé et configuré, vous devez ensuite configurer DMS pour migrer votre serveur MySQL vers un serveur flexible.
Inscrire le fournisseur de ressources
Pour inscrire le fournisseur de ressources Microsoft.DataMigration, procédez comme suit.
Avant de créer votre première instance DMS, connectez-vous au portail Azure, puis recherchez et sélectionnez Abonnements.
Sélectionnez l’abonnement que vous souhaitez utiliser pour créer l’instance DMS, puis sélectionnez Fournisseurs de ressources.
Recherchez le terme « Migration » puis, pour Microsoft.DataMigration, sélectionnez Inscrire.
Créer une instance de Database Migration Service
Dans le portail Azure, sélectionnez + Créer une ressource, recherchez Azure Database Migration Service, puis sélectionnez Azure Database Migration Service dans la liste déroulante.
Dans l’écran Azure Database Migration Service, sélectionnez Créer.
Dans l’écran Créer un service de migration, spécifiez un nom pour le service, l’abonnement, et un réseau virtuel nouveau ou existant.
Sélectionnez un niveau tarifaire et accédez à l’écran de mise en réseau. La fonctionnalité de migration hors connexion est disponible uniquement avec le niveau tarifaire Premium.
Pour plus d’informations sur les coûts et les niveaux de tarification, consultez la page de tarification.
Sélectionnez un réseau virtuel existant dans la liste ou indiquez le nom du réseau virtuel à créer. Accédez à l’écran Vérifier + créer. Vous pouvez éventuellement ajouter des étiquettes au service à l’aide de l’écran correspondant.
Le réseau virtuel fournit à Azure Database Migration Service un accès au serveur SQL Server source et à l’instance Azure SQL Database cible.
Pour plus d’informations sur la création d’un réseau virtuel dans le portail Azure, consultez l’article Créer un réseau virtuel au moyen du portail Azure.
Passez en revue les configurations, puis sélectionnez Créer pour créer le service.
Créer un projet de migration
Une fois le service créé, recherchez-le dans le portail Azure, ouvrez-le, puis créez un projet de migration.
Dans le portail Azure, sélectionnez Tous les services, recherchez Azure Database Migration Service, puis sélectionnez Azure Database Migration Services.
Sélectionnez votre instance de service de migration dans les résultats de la recherche, puis sélectionnez + Nouveau projet de migration.
Dans l’écran Nouveau projet de migration, spécifiez un nom pour le projet. Dans la zone de sélection Type de serveur source, sélectionnez MySQL. Dans la zone de sélection Type de serveur cible, sélectionnez Azure Database pour MySQL, puis dans la zone de sélection Type d’activité de migration, sélectionnez Migration des données. Sélectionnez Créer et exécuter une activité.
Une autre possibilité consiste à choisir Créer un projet uniquement pour créer le projet de migration à ce stade et exécuter la migration ultérieurement.
Configurer un projet de migration
Dans l’écran Sélectionner une source , spécifiez les détails de connexion de l’instance MySQL source, puis sélectionnez Suivant : Sélectionner la cible >>
Dans l’écran Sélectionner une cible , spécifiez les détails de connexion de l’instance Azure Database pour MySQL cible, puis sélectionnez Suivant : Sélectionner des bases de données >>
Dans l’écran Sélectionner des bases de données, mappez la source et la base de données cible pour la migration, puis sélectionnez Suivant : Configurer les paramètres >>de migration. Vous pouvez sélectionner l’option Mettre le serveur source en lecture seule pour que la source soit en lecture seule, mais ayez conscience qu’il s’agit d’un paramètre au niveau du serveur. Si cette option est sélectionnée, elle définit la tout le serveur en lecture seule, pas seulement les bases de données sélectionnées.
Si la base de données cible porte le même nom que la base de données source, Azure Database Migration Service sélectionne la base de données cible par défaut.
Dans l’écran Configurer les paramètres de migration , sélectionnez les tables à intégrer à la migration, puis sélectionnez Suivant : Résumé >>. Si les tables cibles ont des données, elles ne sont pas sélectionnées par défaut, mais vous pouvez les sélectionner explicitement et elles sont tronquées avant de commencer la migration.
Dans l’écran Résumé, dans la zone de texte Nom de l’activité, spécifiez un nom pour l’activité de migration, puis examinez le résumé pour vous assurer que les détails de la source et de la cible correspondent à ceux que vous avez spécifiés précédemment.
Sélectionnez Démarrer la migration. La fenêtre d’activité de migration s’affiche, et le champ État de l’activité présente la valeur Initialisation en cours. La valeur État passe à En cours d’exécution au démarrage des migrations des tables.
Surveiller la migration
Dans l’écran de l’activité de migration, sélectionnez Actualiser pour mettre à jour l’affichage et voir le nombre de tables migrées progresser.
Vous pouvez sélectionner le nom de la base de données sur l’écran d’activité pour voir l’état de chaque table à mesure qu’elle est migrée. Sélectionnez Actualiser pour mettre à jour l’affichage.
Effectuer la migration
Dans l’écran d’activité de migration, sélectionnez Actualiser pour mettre à jour l’affichage jusqu’à voir l’état de la migration s’afficher comme Terminé.
Activités à l’issue de la migration
Le basculement de la migration dans une migration hors connexion est un processus dépendant de l’application qui n’est pas dans le cadre de ce document, mais les activités post-migration suivantes sont prescrites :
- Créez des connexions, des rôles et des autorisations en fonction des exigences de l’application.
- Recréez tous les déclencheurs sur la base de données cible tels qu'extraits pendant l'étape de prémigration.
- Effectuez des tests d’intégrité de l’application dans la base de données cible pour certifier la migration.
Nettoyer les ressources
Si vous n’envisagez pas de continuer à utiliser Database Migration Service, vous pouvez supprimer ce service en effectuant les étapes suivantes :
Dans le portail Azure, sélectionnez Tous les services, recherchez Azure Database Migration Service, puis sélectionnez Azure Database Migration Services.
Sélectionnez votre instance du service de migration dans les résultats de la recherche, puis sélectionnez Supprimer le service.
Dans la boîte de dialogue de confirmation, saisissez le nom du service dans la zone de texte SAISIR LE NOM DU SERVICE DE MIGRATION DE BASE DE DONNÉES et sélectionnez Supprimer.
Contenu connexe
- Résoudre des problèmes et erreurs courants d’Azure Database Migration Service (classique)
- Résoudre les erreurs DMS lors de la connexion aux bases de données source
- Qu’est-ce qu’Azure Database Migration Service ?
- Qu’est-ce qu’Azure Database pour MySQL ?
- Migrer MySQL vers Azure Database pour MySQL hors connexion avec PowerShell et Azure Database Migration Service