web-dev-qa-db-fra.com

Comment exporter une base de données depuis une instance Amazon RDS MySQL vers une instance locale?

La documentation AWS contient ceci page qui parle d'importation et d'exportation de données à partir du serveur MySQL, mais il s'agit principalement d'importation. La seule chose que je vois dans leur documentation est un moyen d’exporter des données 5.6 à l’aide de la réplication, qui est documentée ici . Je me demandais s'il existait un moyen plus simple d'exporter des données à l'aide de mysqldump et de le charger dans une base de données locale. La base de données que je souhaite exporter n’est pas énorme, elle peut atteindre 1 Go. La taille n’est donc pas un problème.

54
Srini K

Sûr.

Effectuez le vidage du serveur RDS distant:

mysqldump -h rds.Host.name -u remote_user_name -p remote_db > dump.sql

Lorsque vous êtes invité à entrer un mot de passe, indiquez le mot de passe pour l'utilisateur = nom_utilisateur_distant (serveur distant).

Téléchargez-le sur votre instance mySql locale:

mysql -u local_user_name -p local_db < dump.sql

Aussi, si vous possédez un ec2 serveur dans la même région, je suggère de faire un cliché. Compressez le fichier puis scp le sur votre ordinateur local. En règle générale, la version compressée du fichier est beaucoup plus petite et vous pouvez le transférer plus rapidement.

90
TJ-

Pour exporter une base de données depuis RDS

mysqldump -h rds.Host.name -u nom_utilisateur_distant -p remote_db> remote_db.sql

Lorsque vous êtes invité à entrer un mot de passe, indiquez le mot de passe.

Pour importer une base de données sur RDS

mysql -h rds.Host.name -u nom_utilisateur_distant -p remote_db <remote_db.sql

Lorsque vous êtes invité à entrer un mot de passe, indiquez le mot de passe.

16

Le meilleur moyen d’exporter des données à partir de RDS est de créer une nouvelle instance EC2 pour se connecter et vider mysql.

  1. Créer une nouvelle instance EC2 Linux2
  2. Connecter SSH
  3. Installer Docker

    • Mettez à jour les packages installés et le cache de packages sur votre instance.

      Sudo yum update -y

    • Installez le dernier package Docker Community Edition.
    • Amazon Linux 2.

      Sudo Amazon-linux-extras installe le menu fixe

    • Amazon Linux.

      Sudo yum install docker

    • Démarrez le service Docker.

      Début du docker de service Sudo

    • Ajoutez l'utilisateur ec2 au groupe de menus pour que vous puissiez exécuter les commandes de Docker sans utiliser Sudo.

      Sudo usermod -a -G docker ec2-user

    • Déconnectez-vous et reconnectez-vous pour récupérer les nouvelles autorisations du groupe de menus fixes. Pour ce faire, fermez la fenêtre de votre terminal SSH actuelle et reconnectez-vous à votre instance dans une nouvelle. Votre nouvelle session SSH disposera des autorisations appropriées pour le groupe de menus fixes.

    • Vérifiez que l'utilisateur ec2 peut exécuter les commandes Docker sans Sudo.

      info docker

  4. Lancer le conteneur mysql

    docker run -it --network some-network --rm mysql mysql -h some-mysql -u exemple-utilisateur -p

  5. Exécutez dump sql

    mysqldump -h Host -u nom_utilisation -P 3306 -p --databases nom_base | gzip> nom_base.gz

  6. Copier le fichier du conteneur vers l'hôte

    docker cp conteneur_id:/home/home/ec2-user/sql_backup

2
Khôi Lê

Une autre option très simple consiste à utiliser MySql Workbench. Dans la barre d'outils, sélectionnez "Base de données" et "Exportation de données". Sélectionnez les bonnes options, le fichier cible ... et vous avez terminé! Facile le fait!

1
tjm1706