web-dev-qa-db-fra.com

Comment importer une base de données MySQL locale vers une instance de base de données RDS?

J'ai créé une instance RDS appelée realcardiodb (le moteur est mysql) et j'ai exporté ma base de données depuis mon hôte local. Le fichier est enregistré localement appelé localhostrealcardio.sql

La plupart des recherches disent d'utiliser mysqldump pour importer des données d'un système local vers un serveur Web, mais mon système ne reconnaît même pas mysqldump.

C:\xampp\mysql>mysqldump
'mysqldump' is not recognized as an internal or external command, operable program or batch   file. 

Comment résoudre cette erreur si j'utilise mysqldump? (J'ai définitivement installé mysql sur mon système)

Existe-t-il un meilleur utilitaire que je devrais utiliser?

Toute aide est appréciée, surtout si vous avez de l'expérience dans l'importation de mysql vers aws rds.

Merci! DK

Mise à jour 31/07/2012 J'ai donc résolu l'erreur. mysqldump se trouve dans le répertoire bin C:\xampp\mysql\bin> mysqldump AWS fournit les instructions suivantes pour télécharger une base de données locale sur RDS:

mysqldump acme | mysql --Host=hostname --user=username --password acme

Quelqu'un peut-il décomposer cela pour moi?

1) Le premier 'acme' (après la commande mysqldump) est-il le nom de ma base de données locale ou le fichier sql exporté que j'ai enregistré localement?

2) Le nom d'hôte est-il l'adresse IP, le DNS public, le point de terminaison RDS ou aucun?

3) Le nom d'utilisateur et le mot de passe que je suppose sont les informations d'identification RDS et le deuxième acme est le nom de la base de données que j'ai créée dans RDS.

Merci!

19
Derek

Voici comment je l'ai fait pour quelques instances qui avaient des données dans les tables MySQl.

Les étapes de création d'une instance de base de données RDS: http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html

Remarque: Assurez-vous que l'instance RDS a un groupe de sécurité configuré qui se rapporte au groupe de sécurité EC2. http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/USER_Workin ...

Avant d'aller de l'avant, permettez-moi de vous fournir une liste de certains des espaces réservés suivants:

  • Host.address.for.rds.server = ce sera ce que l'on appelle le "point final" dans votre page de description/paramètres RDS.
  • rdsusername = le compte utilisateur principal que vous avez créé lors de la configuration de RDS.
  • rdsdatabase = une base de données vierge que vous avez créée à l'intérieur du serveur sur votre instance RDS.
  • backupfile.sql = le fichier de vidage sql que vous avez fait de la base de données de votre installation préexistante.

Une fois que vous avez créé une nouvelle instance de base de données RDS et que vous avez configuré ses paramètres de sécurité, connectez-vous à ce serveur (depuis une session ssh vers votre serveur EC2), puis créez une base de données vide à l'intérieur de l'instance à l'aide des commandes SQL de base.

mysql -h Host.address.for.rds.server -P 3306 -u rdsusername -p
(enter your password)
create database rdsdatabase;

Quittez ensuite l'environnement MySQL de votre serveur RDS.

\q

Ce didacticiel suppose que vous disposez déjà d'une sauvegarde de votre ancienne base de données. Si vous ne le faites pas, allez en créer un maintenant. Après cela, vous êtes prêt à importer ce fichier de vidage sql dans la base de données vide en attente sur votre serveur RDS.

mysql -h Host.address.for.rds.server -u rdsusername -p  rdsdatabase < backupfile.sql

Cela peut prendre quelques secondes, selon la taille du fichier de vidage SQL. Votre indication qu'il est terminé est que l'invite de commande bash réapparaît.

Remarque: la commande "mysqlimport" est utilisée lors de l'importation de données directement dans une table existante dans une base de données. Il peut sembler que nous "importons" des données, mais ce n'est pas ce que nous faisons réellement dans cette situation. La base de données vers laquelle nous migrons n'a pas encore de tables et le fichier de vidage sql que nous utilisons contient les commandes sql pour générer les tables dont il a besoin.

Confirmez le transfert

Maintenant, si vous n'avez reçu aucun message d'erreur, votre transfert SQL a probablement fonctionné. Si vous le souhaitez, vous pouvez vérifier si c'est le cas en vous connectant à votre serveur de base de données RDS, en recherchant la base de données que vous avez créée et en vérifiant si les tables sont maintenant présentes.

mysql -h Host.address.for.rds.server -P 3306 -u rdsusername -p
(enter your password)
use rdsdatabase;
show tables;
42
David Csonka

Je préfère utiliser MySQL Workbench. C'est beaucoup plus facile et convivial que la méthode en ligne de commande.

Il fournit une interface graphique simple.

Workbench MySQL ou SQL Yog.

Ce sont les étapes que j'ai faites.

1) Installez MySQL Workbench.

2) Dans la console AWS, il doit y avoir un groupe de sécurité pour votre instance RDS. Ajoutez une règle entrante à ce groupe pour autoriser les connexions depuis votre ordinateur. C'est simple. Ajoutez votre adresse IP.

3) Ouvrez le plan de travail MySQL, ajoutez une nouvelle connexion.

4) Donnez à la connexion un nom que vous préférez.

5) Choisissez la méthode de connexion - TCP/IP standard

6) Saisissez votre point de terminaison RDS dans le champ Nom d'hôte.

7) Port: 3306

8) Nom d'utilisateur: nom d'utilisateur principal (celui que vous avez créé lors de la création de votre instance RDS)

9) Mot de passe: mot de passe principal

10) Cliquez sur Tester la connexion pour vérifier votre connexion.

11) Si la connexion réussit, cliquez sur OK.

12) Ouvrez la connexion.

13) vous y verrez votre base de données 'realcardiodb'.

14) Vous pouvez maintenant exporter votre fichier mysqldump vers cette base de données. Allez dans-> Serveur. Cliquez sur Importation de données.

15) Vous pouvez vérifier si les données ont été migrées en ouvrant simplement un fichier SQL vierge et en tapant des commandes SQL de base comme utiliser la base de données, sélectionnez * dans le tableau;

C'est tout. Alto.

21
Sajeev

Si vous avez un backup.sql sur votre PC, pas besoin de transférer vers EC2. Donnez simplement la ligne ci-dessous sur votre terminal dans votre PC.

$ mysql -h rdsinstance-hostaddress-ending.rds.amazonaws.com -u rds_username -p  rds_database < /path/to/your/backup.sql

Entrez le mot de passe: paswd_mysql_user

C'est tout.

Importer la sauvegarde directement depuis le serveur distant existant

Connexion SSH à votre serveur distant

Obtenez la sauvegarde mysql du serveur distant (backup/path/backupfile.sql)

Importez le fichier de sauvegarde vers RDS mysql pendant que vous êtes dans le serveur distant Shell

mysql -h your-mysql-instance.region.rds.amazonaws.com -u db_username -p db_name < backup/path/backupfile.sql

Remarque:

J'ai essayé tous les critères ci-dessus pour importer ma sauvegarde existante dans une nouvelle base de données RDS, y compris via EC2 comme dans la documentation AWS. C'était une sauvegarde de 10 Go. J'ai donc essayé des tables par tables aussi. Il montre que le processus est terminé mais certaines données manquaient pour les grandes tables. J'ai donc dû écrire un script de migration de données DB à DB.

3
Sadee

L'instruction étape par étape sur la façon de migrer une base de données déjà existante sur mysql/mariadb vers une instance RDS déjà en cours d'exécution.

1
user11891562

Utilisation du banc de travail:

  1. paramétrer la connexion

  2. allez dans l'onglet gestion et cliquez sur import/restauration de données

  3. cliquez sur importer à partir d'un fichier autonome.

  4. choisi ton mysqlbackup.sql fichier.

  5. sélectionnez la base de données par défaut.

  6. cliquez sur le bouton démarrer l'importation.

En utilisant la ligne de commande (sous Windows):

mysqldump -u <localuser>

--databases world 
--single-transaction 
--compress 
--order-by-primary  
-p<localpassword> | mysql -u <rds-user-name>
    --port=3306 
    --Host=ednpoint 
    -p<rds-password>

Pour plus de détails, veuillez consulter: https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.SmallExisting.html ou https: // docs .bitnami.com/aws/how-to/migrate-database-rds/# using-phpmyadmin-11

J'espère que ça aide.

1
Devendra Singraul

Voici le document AWS RDS Mysql pour importer des données client dans RDS

http://aws.Amazon.com/articles/29

  • Créer des fichiers plats contenant les données à charger
  • Arrêtez toutes les applications accédant à l'instance DB cible
  • Créer un instantané de base de données
  • Désactiver les sauvegardes automatisées Amazon RDS
  • Chargez les données en utilisant mysqlimport
  • Activer à nouveau les sauvegardes automatisées
0
Sathish