Utilisation d'une base de données compatible MySQL comme source pour des migrations de données homogènes dans AWS DMS - AWS Service de Migration de Base de Données

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'une base de données compatible MySQL comme source pour des migrations de données homogènes dans AWS DMS

Vous pouvez utiliser une base de données compatible MySQL (MySQL ou MariaDB) en tant que source pour Migrations de données homogènes dans AWS DMS. Dans ce cas, votre fournisseur de données source peut être une base de données sur site, Amazon EC2, RDS for MySQL ou MariaDB.

Pour exécuter des migrations de données homogènes, vous devez utiliser un utilisateur de base de données disposant des privilèges SELECT pour toutes les tables sources et tous les objets secondaires à répliquer. Pour les tâches de capture des données de modification (CDC), cet utilisateur doit également disposer des privilèges REPLICATION CLIENT (BINLOG MONITOR pour les versions de MariaDB ultérieures à 10.5.2) et REPLICATION SLAVE. Pour une migration de données de chargement complet, vous n’avez pas besoin de ces deux privilèges.

Utilisez le script suivant pour créer un utilisateur de base de données doté des autorisations requises dans la base de données MySQL. Exécutez les GRANT requêtes pour toutes les bases de données vers lesquelles vous migrez AWS.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

Dans l’exemple précédent, remplacez chaque espace réservé pour l’entrée utilisateur par vos propres informations. Si la version de la base de données MySQL source est antérieure à 8.0, vous pouvez ignorer la commande GRANT BACKUP_ADMIN.

Utilisez le script suivant pour créer un utilisateur de base de données doté des autorisations requises dans la base de données MariaDB. Exécutez les requêtes GRANT pour toutes les bases de données vers lesquelles vous migrez AWS.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

Dans l’exemple précédent, remplacez chaque espace réservé pour l’entrée utilisateur par vos propres informations.

Les sections suivantes décrivent les prérequis de configuration spécifiques pour les bases de données MySQL autogérées et gérées par AWS.

Utilisation d’une base de données compatible MySQL autogérée en tant que source pour les migrations de données homogènes

Cette section explique comment configurer vos bases de données compatibles MySQL hébergées sur site ou sur des instances Amazon EC2.

Choisissez la version de la base de données MySQL ou MariaDB source. Assurez-vous qu'elle AWS DMS prend en charge la version de votre base de données MySQL ou MariaDB source, comme décrit dans. Sources pour les migrations de données homogènes DMS

Pour utiliser la CDC, assurez-vous d’activer la journalisation binaire. Pour activer la journalisation binaire, configurez les paramètres suivants dans le fichier my.ini (Windows) ou my.cnf (UNIX) de la base de données MySQL ou MariaDB.

Paramètre

Valeur

server-id

Définissez ce paramètre à une valeur 1 ou supérieure.

log-bin

Définissez le chemin d'accès au fichier journal binaire, par exemple log-bin=E:\MySql_Logs\BinLog. N'ajoutez pas d'extension de fichier.

binlog_format

Définissez ce paramètre à ROW. Nous recommandons d’utiliser ce paramètre lors de la réplication car, dans certains cas, lorsque binlog_format est défini sur STATEMENT, cela peut entraîner des incohérences lors de la réplication des données sur la cible. Le moteur de base de données écrit également des données incohérentes similaires sur la cible lorsque binlog_format est défini sur MIXED, car le moteur de base de données bascule automatiquement vers la journalisation basée sur STATEMENT.

expire_logs_days

Définissez ce paramètre à une valeur 1 ou supérieure. Pour éviter l'utilisation excessive d'espace disque, nous recommandons de ne pas utiliser la valeur par défaut de 0.

binlog_checksum

Définissez ce paramètre à NONE.

binlog_row_image

Définissez ce paramètre à FULL.

log_slave_updates

Définissez ce paramètre sur TRUE si vous utilisez un réplica MySQL ou MariaDB en tant que source.

Utilisation d'une base de données compatible MySQL AWS gérée comme source pour des migrations de données homogènes dans AWS DMS

Cette section explique comment configurer vos instances de base de données Amazon RDS for MySQL et Amazon RDS for MariaDB.

Lorsque vous utilisez une base de données MySQL ou MariaDB AWS gérée comme source pour des migrations de données homogènes, assurez-vous AWS DMS de remplir les conditions préalables suivantes pour CDC :

  • Pour activer les journaux binaires pour RDS for MySQL et pour MariaDB, activez les sauvegardes automatiques au niveau de l’instance. Pour activer les journaux binaires pour un cluster Aurora MySQL, modifiez la variable binlog_format dans le groupe de paramètres. Vous n’avez pas besoin d’activer les sauvegardes automatiques pour un cluster Aurora MySQL.

    Définissez ensuite le paramètre binlog_format sur ROW.

    Pour plus d’informations sur la configuration des sauvegardes automatiques, consultez Activation des sauvegardes automatiques dans le Guide de l’utilisateur Amazon RDS.

    Pour plus d’informations sur la configuration de la journalisation binaire pour une base de données Amazon RDS for MySQL ou MariaDB, consultez Configuration de la journalisation binaire MySQL dans le Guide de l’utilisateur Amazon RDS.

    Pour plus d’informations sur la configuration de la journalisation binaire pour un cluster Aurora MySQL, consultez Comment puis-je activer la journalisation binaire pour mon cluster Amazon Aurora MySQL ?

  • Assurez-vous que les journaux binaires sont disponibles pour AWS DMS. Étant donné que les bases de données MySQL et MariaDB AWS gérées par -managed purgent les journaux binaires dès que possible, vous devez augmenter la durée pendant laquelle les journaux restent disponibles. Par exemple, pour accroître la rétention des journaux à 24 heures, exécutez la commande suivante.

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • Définissez le paramètre binlog_row_image sur Full.

  • Définissez le paramètre binlog_checksum sur NONE.

  • Si vous utilisez un réplica Amazon RDS MySQL ou MariaDB en tant que source, activez les sauvegardes sur le réplica en lecture et assurez-vous de définir le paramètre log_slave_updates sur TRUE.

Limites d’utilisation d’une base de données compatible MySQL en tant que source pour une migration de données homogène

Les limites suivantes s’appliquent à l’utilisation d’une base de données compatible MySQL en tant que source pour une migration de données homogène :

  • Les objets MariaDB tels que les séquences ne sont pas pris en charge dans les tâches de migration homogène.

  • La migration de MariaDB vers Amazon RDS MySQL/Aurora MySQL peut échouer en raison de différences entre objets incompatibles.

  • Le nom d’utilisateur que vous utilisez pour vous connecter à votre source de données présente les limites suivantes :

    • Il peut comporter de 2 à 64 caractères.

    • Il ne peut pas comporter d’espaces.

    • Il peut inclure les caractères suivants : a-z, A-Z, 0-9, trait de soulignement (_).

    • Il doit commencer par a-z ou A-Z.

  • Le mot de passe que vous utilisez pour vous connecter à votre source de données présente les limites suivantes :

    • Il peut comporter de 1 à 128 caractères.

    • Il ne peut contenir aucun des éléments suivants : guillemet simple (’), guillemet double ("), point-virgule (;) ou espace.