2013-09-02 19 views
6

Ho appena effettuato l'accesso alla mia EC2 tramite Putty su Windows e sono entrato nella mia istanza RDS e in un database che avevo creato. Quindi provo ad importare un dump SQL dalla mia macchina con il seguente codice che risulta in un errore.Come importare Dump MYSQL in Amazon RDS

mysql> source C:\Users\guru\Downloads\latest.sql; 
    ERROR: 
    Unknown command '\U'. 
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source C:\Users' at line 1 
    ERROR: 
    Unknown command '\D'. 
    ERROR: 
    Unknown command '\l'. 
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'uru\Downloads\latest.sql' at line 1 

Il file esiste nel mio computer Windows. Per favore aiutami a risolvere l'errore.

+1

È necessario caricare prima il file. Quel file esiste sul tuo computer locale, ma non la tua istanza ec2. Prova WinSCP. – datasage

+0

Grazie. C'è un modo per importare un dump mysql direttamente dalla mia macchina locale? – TechyTimo

+1

Sì, ma è necessario un client mysql sul computer locale per farlo. Probabilmente questo sarà più lento, ci sarà più latenza tra ogni affermazione. – datasage

risposta

4

Ho trovato una soluzione molto semplice e intuitiva: ho scaricato SQLyog https://www.webyog.com e ho inserito i miei dettagli ssh per il mio registro ec2 e my MYSQL in dettaglio. Ho finito per accedere a un mio database utilizzando questo strumento GUI che ha tutte le opzioni per importare ed esportare i dati facilmente come su localhost/phpmyadmin

3

Come indicato nel datasage, è preferibile lavorare con le istanze EC2 -> RDS. Se si vuole veramente lavorare da computer locale, però:

  • Installare MySQL per Windows: http://dev.mysql.com/downloads/mysql/

  • Aggiungere la directory padre della mysql.exe (lo strumento da riga di comando mysql) al vostro ambiente di percorso variabile.

Provare quanto segue nel prompt dei comandi. È possibile utilizzare anche powershell, ma è necessario includere questa istruzione in cmd /c "mysql etc..." perché powershell gestisce il reindirizzamento in modo leggermente diverso.

mysql -u myUser --password = mypass -h rdsEndpoint myDB < C: \ Users \ guru \ Download \ latest.sql

Questa procedura sarebbe anche utile sapere se avete bisogno per un'istanza di Windows EC2.

Per inciso: l'estrazione di dati da RDS sulla macchina locale può diventare costosa, specialmente quando il database cresce. Se stai solo facendo questo come soluzione di backup, allora potresti voler esaminare Snapshots o backup automatici. Se si esegue questa operazione per replicare l'ambiente RDS, è anche possibile trasferire i dati direttamente da RDS alle istanze EC2, which is free if both instances are in the same availability zone.

+0

Grazie per le informazioni. Quindi mi viene addebitato quando ho mysqldump i miei dati? – TechyTimo

+1

Dipende da dove va, ma sì, che rientrerebbe in "Esportazione dati" nella loro pagina dei prezzi che ho linkato sopra. Esportare in EC2 è molto più economico (e graficamente libero, meno il costo dell'istanza) che esportare sul computer locale. –

+1

Sebbene questa risposta sia un po 'incentrata su Windows, il comando funziona anche su Linux (qualsiasi POSIX con mysql client installato) 'mysql -u username -p -h RDS_endpoint DB_name CrazyPyro

Problemi correlati