mysqldump et mysqlpump - AWS Conseils prescriptifs

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.

mysqldump et mysqlpump

mysqldump et mysqlpump sont des outils de sauvegarde de base de données natifs pour MySQL. MariaDB supporte mysqldump mais ne supporte pas mysqlpump. Ces deux outils créent des sauvegardes logiques et font partie des programmes clients MySQL. mysqldump prend en charge le traitement monothread. mysqlpump prend en charge le traitement parallèle des bases de données et des objets au sein des bases de données, afin d'accélérer le processus de vidage. Il a été introduit dans la version 5.7.8 du serveur MySQL.

Le schéma suivant montre les étapes de haut niveau impliquées dans la migration d'une base de données à l'aide d'un fichier de sauvegarde mysqldump ou mysqlpump.

Schéma de migration d'un fichier de sauvegarde mysqldump ou mysqlpump et de sa restauration sur une instance de base de données. AWS

Voici les étapes à suivre pour utiliser mysqldump ou mysqlpump afin de migrer une base de données vers : AWS Cloud

  1. Installez MySQL Shell sur le serveur local. Pour obtenir des instructions, consultez la section Installation de MySQL Shell dans la documentation MySQL. Ceci installe à la fois mysqldump et mysqlpump.

  2. À l'aide de mysqldump ou mysqlpump, créez une sauvegarde de la base de données source sur site. Pour obtenir des instructions, consultez mysqldump et mysqlpump dans la documentation MySQL, ou consultez Making Backups with mysqldump dans la documentation MariaDB. Pour plus d'informations sur l'appel de programmes MySQL et la spécification d'options, consultez Utilisation de programmes MySQL.

  3. Déplacez le fichier de sauvegarde vers une instance EC2 dans le en AWS Cloud utilisant l'une des approches suivantes :

    Approche 3A — Montez un système de fichiers Amazon FSx ou Amazon Elastic File System (Amazon EFS) sur le serveur local qui exécute votre instance de base de données. Vous pouvez utiliser AWS Direct Connect ou AWS VPN pour établir la connexion. Vous pouvez sauvegarder directement la base de données sur le partage de fichiers monté, ou vous pouvez effectuer la sauvegarde en deux étapes en sauvegardant la base de données sur un système de fichiers local, puis en la téléchargeant sur le volume FSx ou EFS monté. Ensuite, montez le système de fichiers Amazon FSx ou Amazon EFS, qui est également monté sur le serveur local, sur une instance EC2.

    Approche 3B — Utilisez AWS CLI le AWS SDK ou l'API REST Amazon S3 pour déplacer directement le fichier de sauvegarde du serveur sur site vers un compartiment S3. Si le compartiment S3 cible se trouve dans un Région AWS endroit éloigné du centre de données, vous pouvez utiliser Amazon S3 Transfer Acceleration pour transférer le fichier plus rapidement. Utilisez le système de fichiers s3fs-fuse pour monter le compartiment S3 sur l'instance EC2.

    Approche 3C — Installez l' AWS DataSync agent dans le centre de données local, puis utilisez-le AWS DataSyncpour déplacer le fichier de sauvegarde vers un compartiment Amazon S3. Utilisez le système de fichiers s3fs-fuse pour monter le compartiment S3 sur l'instance EC2.

    Note

    Vous pouvez également utiliser Amazon S3 File Gateway pour transférer les fichiers de sauvegarde de base de données volumineux vers un compartiment S3 du AWS Cloud. Pour plus d’informations, consultez Utilisation d'Amazon S3 File Gateway pour transférer des fichiers de sauvegarde dans ce guide.

  4. Utilisez la méthode de restauration native pour restaurer la sauvegarde sur la base de données cible. Pour obtenir des instructions, consultez Reloading SQL backups dans la documentation MySQL, ou consultez Restaurer des données à partir de fichiers dump dans la documentation MariaDB.

  5. (Facultatif) Vous pouvez configurer la réplication entre la base de données source et l'instance de base de données cible. Vous pouvez utiliser la réplication des journaux binaires (binlog) pour réduire les temps d'arrêt. Pour plus d’informations, consultez les ressources suivantes :

Avantages

  • mysqldump et mysqlpump sont inclus dans l'installation de MySQL Server

  • Les fichiers de sauvegarde générés par ces outils sont dans un format plus lisible.

  • Avant de restaurer le fichier de sauvegarde, vous pouvez modifier le fichier .sql obtenu à l'aide d'un éditeur de texte standard.

  • Vous pouvez sauvegarder une table, une base de données ou même une sélection de données spécifique.

  • mysqldump et mysqlpump sont indépendants de l'architecture de la machine.

Limites

  • mysqldump est un processus de sauvegarde monothread. Les performances de sauvegarde sont bonnes pour les petites bases de données, mais elles peuvent devenir inefficaces lorsque la taille de sauvegarde est supérieure à 10 Go.

  • Les fichiers de sauvegarde au format logique sont volumineux, en particulier lorsqu'ils sont enregistrés sous forme de texte, et leur création et leur restauration sont souvent lentes.

  • La restauration des données peut être lente car la réapplication des instructions SQL dans l'instance de base de données cible implique un traitement intensif des E/S sur le disque et du processeur pour l'insertion, la création d'index et l'application des contraintes d'intégrité référentielle.

  • L'utilitaire mysqlpump n'est pas pris en charge pour les versions de MySQL antérieures à 5.7.8.

  • Par défaut, mysqlpump n'effectue pas de sauvegarde des bases de données du système, telles que ou. performance_schema sys Pour sauvegarder une partie de la base de données système, nommez-la explicitement dans la ligne de commande.

  • mysqldump ne sauvegarde pas les instructions InnoDB. CREATE TABLESPACE

Remarque : Les sauvegardes des instructions CREATE TABLESPACE et des bases de données système ne sont utiles que lorsque vous restaurez des sauvegardes de bases de données MySQL ou MariaDB sur une instance EC2. Ces sauvegardes ne sont pas utilisées pour Amazon RDS ou Aurora.

Bonnes pratiques

  • Lorsque vous restaurez la sauvegarde de la base de données, désactivez les vérifications des clés, par exemple au niveau de la session dans la base de données cible. FOREIGN_KEY_CHECKS Cela augmente la vitesse de restauration.

  • Assurez-vous que l'utilisateur de la base de données dispose de privilèges suffisants pour créer et restaurer la sauvegarde.