Importation de données depuis une base de données MySQL externe vers une instance de base de données Amazon RDS for MySQL - 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 depuis une base de données MySQL externe vers une instance de base de données Amazon RDS for MySQL

Vous pouvez importer des données d'une base de données MariaDB ou MySQL existante vers une instance de base de données RDS pour MariaDB ou RDS pour MySQL. Pour ce faire, copiez la base de données avec mysqldump et redirigez-la directement vers l'instance de base de données RDS pour MariaDB ou RDS pour MySQL. 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 MariaDB ou MySQL vers un autre. Il est inclus dans les logiciels clients MySQL et MariaDB.

Dans MariaDB 10.5, le client s'appelle mariadb-dump. À partir de MariaDB 11.0.1, vous devez utiliser à la place de. mariadb-dump mysqldump

Note

Si vous importez ou exportez de grandes quantités de données avec une instance de base de données MySQL, le transfert de données vers et depuis Amazon RDS est plus fiable et plus rapide à l'aide de fichiers de xtrabackup sauvegarde et d'Amazon S3. Pour de plus amples informations, veuillez consulter Restauration d'une sauvegarde dans une instance de base de données Amazon RDS for MySQL.

Amazon RDS ne prend pas en charge xtrabackup MariaDB ou. mariabackup Amazon RDS prend uniquement en charge l'importation depuis Amazon S3 pour MySQL.

Une mysqldump commande classique pour déplacer des données d'une base de données externe vers une instance de base de données Amazon RDS ressemble à l'exemple suivant. Remplacez les valeurs par vos propres informations. Pour les versions 11.0.1 et supérieures de MariaDB, mysqldump remplacez par et par. mariadb-dump mysql mariadb

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -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.

Pour des raisons de sécurité, il est recommandé de spécifier des informations d'identification autres que celles indiquées dans cet exemple.

Assurez-vous que vous êtes conscient des recommandations et des considérations suivantes :

  • Excluez les schémas suivants du fichier de vidage :

    • sys

    • performance_schema

    • information_schema

    L'mariadb-dumputilitaire mysqldump and exclut ces schémas par défaut.

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

  • Pour effectuer l'importation, assurez-vous que l'utilisateur qui l'effectue a accès à l'instance de base de données. Pour de plus amples informations, veuillez consulter Contrôle d'accès par groupe de sécurité.

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, spécifiez le nom d'un compte utilisateur sur la base de données MariaDB ou MySQL locale que vous identifiez --databases avec le paramètre.

  • --databases database_name : utilisez ce paramètre pour spécifier le nom de la base de données sur l'instance MariaDB ou MySQL 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 pendant que mysqldump les lit, l'utilisation de ce paramètre 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.

  • --routines— À utiliser si des routines telles que des procédures stockées ou des fonctions existent dans la base de données que vous copiez. Définissez le paramètre sur0, ce qui exclut les routines pendant le processus d'importation. Ensuite, recréez manuellement les routines dans la base de données Amazon RDS.

  • --triggers— À utiliser si des déclencheurs existent dans la base de données que vous copiez. Définissez le paramètre sur0, ce qui exclut les déclencheurs pendant le processus d'importation. Ensuite, recréez manuellement les déclencheurs dans la base de données Amazon RDS.

  • --events— À utiliser si des événements existent dans la base de données que vous copiez. Définissez le paramètre sur0, ce qui exclut les événements pendant le processus d'importation. Recréez ensuite manuellement les événements dans la base de données Amazon RDS.

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

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

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

  • --host host_name : utilisez ce paramètre pour spécifier le nom du système de nom de domaine (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 de base de données dans la console Amazon RDS.

  • -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.

Assurez-vous de créer manuellement les procédures stockées, déclencheurs, fonctions ou événements dans votre base de données Amazon RDS. Si la base de données que vous copiez contient l'un de ces objets, excluez-le lorsque vous exécutez mysqldump oumariadb-dump. Pour ce faire, incluez les paramètres suivants dans votre mariadb-dump commande mysqldump or :

  • --routines=0

  • --triggers=0

  • --events=0

Exemple

L'exemple suivant copie l'worldexemple de base de données sur l'hôte local vers une instance de base de données RDS pour MySQL. Remplacez les valeurs par vos propres informations. Pour copier l'exemple de base de données sur une instance de base de données RDS pour MariaDB, mysqldump remplacez par et par. mariadb-dump mysql mariadb

Dans Linux, macOS, ou Unix:

sudo mysqldump -u local_user \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mysql -u rds_user \ --port=3306 \ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \ -pRDS_password

Dans Windows:

Exécutez la commande suivante dans une invite de commande qui a été ouverte en cliquant avec le bouton droit sur Invite de commandes dans le menu des programmes Windows et en choisissant Exécuter en tant qu'administrateur. Remplacez les valeurs par vos propres informations. Pour copier l'exemple de base de données sur une instance de base de données RDS pour MariaDB, mysqldump remplacez par et par. mariadb-dump mysql mariadb

mysqldump -u local_user ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password | mysql -u RDS_user ^ --port=3306 ^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^ -pRDS_password
Note

Pour des raisons de sécurité, il est recommandé de spécifier des informations d'identification autres que celles indiquées dans l'exemple.