Migration de données d'un instantané de base de données MySQL vers une instance de base de données MariaDB - Amazon Relational Database Service

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.

Migration de données d'un instantané de base de données MySQL vers une instance de base de données MariaDB

Vous pouvez migrer un instantané de bases de données RDS for MySQL vers une nouvelle instance de base de données exécutant MariaDB à l'aide de la AWS Management Console, d'AWS CLI ou de l'API Amazon RDS. Vous devez utiliser un instantané de base de données créé à partir d'une instance de base de données Amazon RDS exécutant MySQL 5.6 ou 5.7. Pour savoir comment créer un instantané de base de données RDS for MySQL, consultez Création d'un instantané de base de données pour une instance de base de données mono-AZ.

La migration de l'instantané n'affecte pas l'instance de base de données d'origine à partir de laquelle l'instantané a été pris. Vous pouvez tester et valider la nouvelle instance de base de données avant d'y détourner le trafic en remplacement de l'instance de base de données d'origine.

Après la migration de MySQL vers MariaDB, l'instance de base de données MariaDB est associée au groupe d'options et au groupe de paramètres de base de données par défaut. Après la restauration de l'instantané de base de données, vous pouvez associer un groupe de paramètres de base de données personnalisé à la nouvelle instance de base de données. Toutefois, un groupe de paramètres MariaDB présente un ensemble de variables système configurables différent. Pour connaître les différences entre les variables système MySQL et MariaDB, consultez la page System Variable Differences Between MariaDB and MySQL. Pour en savoir plus sur les groupes de paramètres de base de données, consultez Utilisation des groupes de paramètres. Pour en savoir plus sur les groupes d'options, consultez Utilisation de groupes d'options.

Exécution de la migration

Vous pouvez migrer un instantané de base de données RDS for MySQL vers une nouvelle instance de base de données MariaDB à l'aide de la AWS Management Console, d'AWS CLI ou de l'API RDS.

Pour migrer un instantané de base de données MySQL vers une instance de base de données MariaDB
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Snapshots (Instantanés), puis sélectionnez l'instantané de base de données MySQL que vous souhaitez migrer.

  3. Pour Actions, choisissez Migrate shapshot (Migrer l'instantané). La page Migrate database (Migrer la base de données) apparaît.

  4. Pour Migrate to DB Engine (Migrer vers le moteur de base de données), choisissez mariadb.

    Amazon RDS sélectionne automatiquement la version du moteur de base de données. Vous ne pouvez pas modifier la version du moteur de base de données.

    
                        Migration vers MariaDB à partir de MySQL
  5. Pour les sections restantes, spécifiez vos paramètres d'instance de base de données. Pour obtenir des informations sur chaque paramètre, consultez Paramètres des instances de base de données.

  6. Choisissez Migrate (Migrer).

Pour migrer les données d'un instantané de base de données MySQL vers une instance de base de données MariaDB, utilisez la commande restore-db-instance-from-db-snapshot d'AWS CLI avec les paramètres suivants :

  • -- db-instance-identifier — Nom de l'instance de base de données à créer à partir de l'instantané de base de données.

  • -- db-snapshot-identifier — Identifiant du snapshot de base de données à partir duquel effectuer la restauration.

  • --engine – Moteur de base de données à utiliser pour la nouvelle instance.

Pour LinuxmacOS, ou Unix :

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier newmariadbinstance \ --db-snapshot-identifier mysqlsnapshot \ --engine mariadb

Dans Windows :

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier newmariadbinstance ^ --db-snapshot-identifier mysqlsnapshot ^ --engine mariadb

Pour migrer les données d'un instantané de base de données MySQL vers une instance de base de données MariaDB, appelez l'opération d'API Amazon RDS RestoreDBInstanceFromDBSnapshot.

Incompatibilités entre MariaDB et MySQL

Les incompatibilités entre MySQL et MariaDB sont les suivantes :

  • Vous ne pouvez pas migrer un instantané de base de données créé avec MySQL 8.0 vers MariaDB.

  • Si la base de données MySQL source utilise un hachage de mot de passe SHA256, assurez-vous de réinitialiser les mots de passe utilisateur qui ont été hachés via SHA256 avant de vous connecter à la base de données MariaDB. Le code suivant montre comment réinitialiser un mot de passe qui a été haché via SHA256.

    SET old_passwords = 0; UPDATE mysql.user SET plugin = 'mysql_native_password', Password = PASSWORD('new_password') WHERE (User, Host) = ('master_user_name', %); FLUSH PRIVILEGES;
  • Si votre compte d'utilisateur principal RDS utilise le hachage de mot de passe SHA-256, assurez-vous de réinitialiser le mot de passe à l'aide de l'AWS Management Console, de la commande modify-db-instance de l'AWS CLI ou de l'opération de l'API RDS ModifyDBInstance. Pour savoir comment modifier une instance de base de données, consultez Modification d'une instance de base de données Amazon RDS.

  • MariaDB ne prend pas en charge le plugin Memcached. Toutefois, les données utilisées par le plugin Memcached sont stockées dans les tables InnoDB. Après voir migré un instantané de base de données MySQL, vous pouvez accéder aux données utilisées par le plugin Memcached à l'aide de SQL. Pour de plus amples informations sur la base de données innodb_memcache, consultez la page InnoDB memcached Plugin Internals.