Migrer depuis Amazon RDS MySQL sans droits SUPER-UTILISATEUR

La création et l'exécution d'un job de migration avec une ou plusieurs sources Amazon RDS MySQL qui n'autorisent pas les droits SUPERUSER peuvent nécessiter quelques étapes supplémentaires.

Créer le job de migration Amazon RDS MySQL

  1. MySQL limite la définition du nom d'hôte source à 60 caractères. Les noms d'hôte des bases de données Amazon RDS sont généralement plus longs que 60 caractères. Si c'est le cas pour la base de données que vous migrez, configurez une redirection DNS pour créer un enregistrement CNAME qui associe votre nom de domaine au nom de domaine de votre instance de base de données Amazon RDS. Pour en savoir plus sur la configuration d'un CNAME DNS, consultez la documentation Cloud DNS ou la documentation AWS Route53.

  2. Les journaux binaires doivent être stockés sur un stockage de blocs standard et ne peuvent pas être stockés sur Amazon S3.

  3. Pour créer un job de migration continu avec un vidage manuel, vous devez activer GTID. GTID_MODE doit être défini sur ON, OFF, ou OFF_PERMISSIVE. La valeur GTID_MODE de ON_PERMISSIVE n'est pas acceptée.

Exécuter le job de migration

Pour effectuer le vidage complet initial, à la fois pour MySQL Amazon RDS et pour les sources sans droit SUPERUSER, les écritures doivent être arrêtées dans la source pendant environ 20 secondes.

Vous pouvez arrêter les écritures en effectuant la migration à partir d'une instance dupliquée avec accès en lecture ou en arrêtant les écritures directement dans la base de données source.

Pour effectuer la migration à partir d'une instance dupliquée avec accès en lecture :

  1. Créez une instance dupliquée avec accès en lecture dans Amazon Web Services (AWS).

  2. Configurez le profil de connexion source de Database Migration Service avec les informations de connectivité de l'instance dupliquée avec accès en lecture AWS.

  3. Une fois l'état du job de migration passé à Démarrage | En attente de l'arrêt des écritures sources, désactivez la réplication entre l'instance principale AWS et son instance dupliquée avec accès en lecture pendant environ 20 secondes.

  4. Une fois l'état du job de migration passé à En cours d'exécution | Vidage complet en cours, réactivez la réplication dans l'instance dupliquée avec accès en lecture dans AWS.

Au lieu d'arrêter les écritures en effectuant la migration à partir d'une instance dupliquée avec accès en lecture dans AWS, vous pouvez arrêter les écritures directement dans la base de données source. Vous pouvez utiliser un script pour vérifier que toutes les écritures dans la base de données source sont arrêtées.

L'indication du moment où arrêter et reprendre les écritures se trouve dans l'état et le sous-état du job de migration. Vous pouvez suivre les modifications d'état dans l'API, la console ou directement dans Cloud Monitoring :

  1. Une fois l'état passé à Démarrage | En attente de l'arrêt des écritures sources, les écritures doivent être arrêtées dans la base de données source. Database Migration Service identifie que l'écriture est arrêtée et l'état passe à En cours d'exécution | Préparation du vidage.

  2. Une fois l'état passé à En cours d'exécution | Vidage complet en cours, vous pouvez reprendre l'écriture dans la base de données source.

Database Migration Service continue d'essayer d'effectuer le vidage initial pendant environ 20 minutes. Si les écritures n'ont pas été arrêtées ou si elles ont repris avant la mise à jour de l'état, le processus échoue et renvoie une erreur décrivant la cause de l'échec.