Importation de données d'une base de données MySQL ou MariaDB vers une instance de base de données MySQL ou 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.

Importation de données d'une base de données MySQL ou MariaDB vers une instance de base de données MySQL ou MariaDB

Si votre scénario le prend en charge, il est plus facile de transférer des données vers et depuis Amazon RDS à l'aide des fichiers de sauvegarde et de Amazon S3. Pour plus d'informations, consultez Restauration d'une sauvegarde dans une instance de base de données MySQL.

Vous pouvez également importer des données d'une base de données MySQL ou MariaDB existante vers une instance de base de données MySQL ou MariaDB. Pour cela, vous devez copier la base de données avec mysqldump et la transférer directement dans l'instance de base de données MySQL ou MariaDB. L'utilitaire de ligne de commande mysqldump est généralement utilisé pour effectuer des sauvegardes et des transferts de données d'un serveur MySQL ou MariaDB vers un autre. Il est fourni avec les logiciels clients MySQL et MariaDB.

Une commande mysqldump classique pour déplacer les données d'une base de données externe vers une instance de bases de données Amazon RDS ressemble à :

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ -plocal_password | mysql -u RDS_user \ --port=port_number \ --host=host_name \ -pRDS_password
Important

Veillez à ne pas laisser d'espace entre l'option -p et le mot de passe saisi.

Note
  • Excluez les schémas suivants du fichier de vidage : sys, performance_schema et information_schema. L'utilitaire mysqldump exclut ces schémas par défaut.

  • Si vous devez migrer les utilisateurs et les privilèges, envisagez d'utiliser un outil qui génère le langage de contrôle des données (DCL) pour les recréer, tel que l'utilitaire pt-show-grants.

Les paramètres utilisés sont les suivants :

  • -u local_user – Utilisez ce paramètre pour spécifier un nom d'utilisateur. Lors de la première utilisation de ce paramètre, vous spécifiez le nom d'un compte utilisateur sur la base de données MySQL ou MariaDB identifiée par le paramètre --databases.

  • --databases database_name – Utilisez ce paramètre pour spécifier le nom de la base de données sur l'instance MySQL ou MariaDB locale que vous souhaitez importer dans Amazon RDS.

  • --single-transaction – Utilisez ce paramètre pour vérifier que toutes les données chargées depuis la base de données locale sont en cohérence avec un point dans le temps unique. S'il existe d'autres processus qui modifient les données lorsque mysqldump les lit, cette option permet de maintenir l'intégrité des données.

  • --compress – Utilisez ce paramètre pour réduire la consommation de bande passante réseau par compression des données à partir de la base de données locale avant de les envoyer vers Amazon RDS.

  • --order-by-primary – Utilisez ce paramètre pour réduire le temps de chargement en triant les données de chaque tableau sur par clé primaire.

  • -plocal_password – Utilisez ce paramètre pour spécifier un mot de passe. Lors de la première utilisation de ce paramètre, vous spécifiez le mot de passe du compte utilisateur identifié par le premier paramètre -u.

  • -u RDS_user – Utilisez ce paramètre pour spécifier un nom d'utilisateur. Lors de la seconde utilisation de ce paramètre, vous spécifiez le nom d'un compte utilisateur sur la base de données par défaut pour l'instance de bases de données MySQL ou MariaDB identifiée par le paramètre --host.

  • --port port_number – Utilisez ce paramètre pour spécifier le port pour votre instance de base de données MySQL ou MariaDB. Par défaut, il s'agit du port 3306, sauf si vous avez modifié la valeur lorsque vous avez créé l'instance.

  • --host host_name – Utilisez ce paramètre pour spécifier le nom DNS du point de terminaison de l'instance de base de données Amazon RDS, par exemple myinstance.123456789012.us-east-1.rds.amazonaws.com. Vous pouvez trouver la valeur du point de terminaison dans les détails de l'instance dans Amazon RDS Management Console.

  • -pRDS_password – Utilisez ce paramètre pour spécifier un mot de passe. Lors de la seconde utilisation de ce paramètre, vous spécifiez le mot de passe du compte utilisateur identifié par le second paramètre -u.

Vous devez créer manuellement les procédures stockées, déclencheurs, fonctions ou événements dans votre base de données Amazon RDS. Si vous avez l'un de ces objets dans la base de données que vous copiez, excluez-les lorsque vous exécutez mysqldump en associant les paramètres suivants à votre commande mysqldump : --routines=0 --triggers=0 --events=0.

L'exemple suivant copie l'exemple de base de données world de l'hôte local sur une instance de bases de données MySQL.

Pour Linux, macOS ou Unix :

sudo mysqldump -u localuser \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ -plocalpassword | mysql -u rdsuser \ --port=3306 \ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com \ -prdspassword

Pour Windows, la commande suivante doit être exécutée dans une invite de commandes ouverte en cliquant avec le bouton droit sur Invite de commandes dans le menu Programmes de Windows, puis en choisissant Exécuter en tant qu'administrateur :

mysqldump -u localuser ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ -plocalpassword | mysql -u rdsuser ^ --port=3306 ^ --host=myinstance.123456789012.us-east-1.rds.amazonaws.com ^ -prdspassword