2013-09-02 16 views
6

Windowsのパテを使用してEC2にログインしました。私は自分のRDSインスタンスと私が作成したデータベースに入りました。次に、エラーが発生した次のコードでマシンからSQLダンプをインポートしようとします。MYSQLダンプを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 

このファイルはWindowsマシンに存在します。エラーを解決するのを手伝ってください。

+1

ファイルを最初にアップロードする必要があります。そのファイルはローカルマシン上に存在しますが、ec2インスタンスには存在しません。 WinSCPを試してみてください。 – datasage

+0

ありがとうございます。ローカルマシンから直接mysqlダンプをインポートする方法はありますか? – TechyTimo

+1

はい、ローカルマシンにmysqlクライアントが必要です。これはおそらく遅くなるでしょう、それぞれのステートメントの間により多くの待ち時間があります。 – datasage

答えて

4

非常にシンプルでユーザーフレンドリーなソリューションが見つかりました。SQLyog https://www.webyog.comをダウンロードし、ec2とMYSQLのログイン用のsshの詳細を入力しました。私はローカルホスト/ phpmyadminのように簡単にデータをインポートしてエクスポートするためのすべてのオプションを持つこのGUIツールを使用してデータベースにアクセスしました。

3

前述のデータが示すように、おそらくEC2→RDSインスタンスの方が良いでしょう。あなたが本当にあなたのローカルマシンから作業したい場合は、しかし:

  • は、Windows用のMySQLをインストールします。http://dev.mysql.com/downloads/mysql/

  • は、PATH環境にmysql.exeの親ディレクトリ(mysqlコマンドラインツール)を追加します。変数。

コマンドプロンプトで次を試してください。 powershellも使うことができますが、にこのステートメントをラップする必要があります。これは、powershellがリダイレクトを少し違って処理するためです。

のmysql -u MYUSER --password = MYPASS -h rdsEndpoint MYDB < C:\ Users \ユーザー教祖\ダウンロード\ latest.sql

また、この手順では、あなたが必要としているかどうかを知るために有用であろうWindows EC2インスタンスの場合

脇に:RDSからローカルマシンにデータを抽出すると、特にデータベースが大きくなると、コストがかかる可能性があります。バックアップソリューションとしてこれをやっているだけの場合は、Snapshotsまたは自動化されたバックアップを調べることができます。 RDS環境を複製する場合は、RDSからEC2インスタンスに直接データを転送することもできます(which is free if both instances are in the same availability zone)。

+0

情報ありがとうございます。だから私はmysqldump私のデータを請求される? – TechyTimo

+1

どこに行くのかによって異なりますが、上記のリンク先の価格設定ページの「データエクスポート」に該当します。 EC2へのエクスポートは、ローカルマシンにエクスポートするよりもはるかに安い(そして状況的には無料で、インスタンスのコストを引いたもの)。 –

+1

この回答は少しWindows中心ですが、コマンドはLinuxでも(POSIXのmysqlクライアントがインストールされている場合)正しく動作します。mysql -u username -p -h RDS_endpoint DB_name CrazyPyro

関連する問題