2013-09-02 20 views
6

Właśnie zalogowałem się do mojego EC2 przez Putty na Windowsie i dostałem się do mojej instancji RDS i do jednej bazy danych, którą stworzyłem. Następnie próbuję zaimportować zrzut SQL z mojego komputera za pomocą następującego kodu, który powoduje błąd.Jak zaimportować MYSQL Dump do 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 

Plik istnieje na moim komputerze z systemem Windows. Pomóż mi rozwiązać problem.

+1

Najpierw musisz przesłać plik. Ten plik istnieje na komputerze lokalnym, ale nie na instancji EC2. Wypróbuj WinSCP. – datasage

+0

Dzięki. Czy istnieje sposób, aby zaimportować zrzut mysql prosto z mojego lokalnego komputera? – TechyTimo

+1

Tak, ale potrzebujesz klienta mysql na komputerze lokalnym, aby to zrobić. Prawdopodobnie będzie wolniej, pomiędzy każdym stwierdzeniem będzie więcej opóźnień. – datasage

Odpowiedz

4

Znalazłem bardzo proste i przyjazne dla użytkownika rozwiązanie: pobrano SQLyog https://www.webyog.com i wprowadzono szczegółowe informacje dotyczące mojego EC2 i mojego loginu MYSQL. Otrzymałem dostęp do mojej bazy danych za pomocą tego narzędzia GUI, które ma wszystkie opcje importowania i eksportowania danych tak łatwe, jak na localhost/phpmyadmin

3

Jak wspomniano o danych, prawdopodobnie lepiej byłoby pracować z instancji EC2 -> RDS. Jeśli naprawdę chcesz pracować z lokalnym komputerze, chociaż:

Spróbuj wykonać następujące czynności w wierszu polecenia. Mógłbyś również użyć powershell, ale musisz zawrzeć to oświadczenie w cmd /c "mysql etc...", ponieważ powershell obsługuje przekierowanie nieco inaczej.

mysql -u myUser --password = mojehasło -h rdsEndpoint MojaBD < C: \ Users \ guru \ Downloads \ latest.sql

Procedura ta będzie również przydatna, jeśli masz potrzebę dla instancji Windows EC2.

Odkładanie na bok: pobieranie danych z RDS na lokalny komputer może być kosztowne, szczególnie gdy baza danych rośnie. Jeśli po prostu robisz to jako rozwiązanie do tworzenia kopii zapasowych, możesz zajrzeć do Snapshots lub zautomatyzowanych kopii zapasowych. Jeśli robisz to, aby powielić środowisko RDS, możesz również przesłać dane bezpośrednio z RDS do instancji EC2, which is free if both instances are in the same availability zone.

+0

Dzięki za informacje. Więc dostaję opłatę, gdy mysqldump moje dane? – TechyTimo

+1

Zależy od tego, gdzie idzie, ale tak, to będzie się znajdowało w sekcji "Eksport danych" na stronie cenowej, którą podałem powyżej. Eksport do EC2 jest dużo tańszy (i bezkompromisowo, bez kosztów instancji) niż eksport do komputera lokalnego. –

+1

Mimo że ta odpowiedź jest trochę skoncentrowana na systemie Windows, polecenie działa również dobrze na Linuksie (dowolny POSIX z zainstalowanym klientem mysql) 'mysql -u nazwaużytkownika -p -h RDS_endpoint DB_name CrazyPyro