web-dev-qa-db-ja.com

ローカルMySQL dbをRDS dbインスタンスにインポートするにはどうすればよいですか?

Realcardiodb(エンジンはmysql)と呼ばれるRDSインスタンスを作成し、データベースをローカルホストからエクスポートしました。ファイルはlocalhostrealcardio.sqlと呼ばれるローカルに保存されます

ほとんどの研究では、mysqldumpを使用してローカルシステムからWebサーバーにデータをインポートするとしていますが、私のシステムではmysqldumpも認識していません。

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

Mysqldumpを使用する必要がある場合、このエラーをどのように解決しますか? (私は間違いなく私のシステムにmysqlをインストールしています)

使用すべきより良いユーティリティはありますか?

Mysqlをaws rdsにインポートした経験がある場合は特に、どんな助けでもありがたいです。

ありがとう! DK

2012年7月31日更新したがって、エラーを解決しました。 mysqldumpはbinディレクトリにありますC:\ xampp\mysql\bin> mysqldump AWSは、ローカルデータベースをRDSにアップロードするための次の手順を提供します。

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

誰かが私のためにこれを分解できますか?

1)最初の「acme」(mysqldumpコマンドの後)は私のローカルデータベースの名前ですか、それともローカルに保存したエクスポートされたSQLファイルですか?

2)ホスト名はIPアドレス、パブリックDNS、RDSエンドポイントのどちらですか、またはどちらでもありませんか?

3)私が想定するユーザー名とパスワードはRDS資格情報であり、2番目のacmeはRDSで作成したデータベースの名前です。

ありがとう!

19
Derek

これは、MySQlテーブルにデータがあったいくつかのインスタンスに対して行った方法です

RDSデータベースインスタンスを作成する手順: http://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html

注:RDSインスタンスに、EC2セキュリティグループに関連するセキュリティグループが構成されていることを確認してください。 http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/USER_Workin ...

先に進む前に、次のプレースホルダーのいくつかのリストを提供しましょう。

  • Host.address.for.rds.server =これは、RDSの説明/設定ページで「エンドポイント」と呼ばれるものです。
  • rdsusername = RDSのセットアップ中に作成したマスターユーザーアカウント。
  • rdsdatabase = RDSインスタンスのサーバー内に作成した空のデータベース。
  • backupfile.sql =既存のインストールのデータベースで作成したSQLダンプファイル。

新しいRDSデータベースインスタンスを作成し、セキュリティ設定を構成したら、このサーバーにログインし(sshセッションからEC2サーバーへ)、基本的なSQLコマンドを使用してインスタンス内に空のデータベースを作成します。

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

次に、RDSサーバー内のMySQL環境を終了します。

\q

このチュートリアルは、古いデータベースからのバックアップがすでにあることを前提としています。まだ作成していない場合は、今すぐ作成してください。その後、そのSQLダンプファイルをRDSサーバーで待機している空のデータベースにインポートする準備が整います。

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

SQLダンプファイルのサイズによっては、完了するまでに数秒かかる場合があります。完了したことを示すのは、bashコマンドのプロンプトが再び表示されることです。

注:「mysqlimport」コマンドは、データベース内の既存のテーブルにデータを直接インポートするときに使用されます。データを「インポート」しているように見えるかもしれませんが、これは、この状況で実際に行っていることではありません。移行先のデータベースにはまだテーブルがなく、使用しているSQLダンプファイルには、必要なテーブルを生成するためのSQLコマンドが含まれています。

転送を確認します

ここで、エラーメッセージが表示されない場合は、おそらくSQL転送が機能しています。必要に応じて、RDSデータベースサーバーに接続して作成したデータベースを検索し、テーブルが存在するかどうかを確認することで、それが行われたかどうかをダブルチェックできます。

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

MySQLワークベンチの使用を好みます。コマンドラインよりもはるかに簡単でユーザーフレンドリーです。

シンプルなGUIを提供します。

MySQLワークベンチまたはSQL Yog。

これらは私がしたステップです。

1)MySQL Workbenchをインストールします。

2)AWSコンソールには、RDSインスタンスのセキュリティグループが必要です。マシンからの接続を許可するために、そのグループに受信規則を追加します。それは簡単です。 IPアドレスを追加します。

3)MySQLワークベンチを開き、新しい接続を追加します。

4)接続に任意の名前を付けます。

5)接続方法の選択-標準TCP/IP

6)ホスト名のフィールドにRDSエンドポイントを入力します。

7)ポート:3306

8)ユーザー名:マスターユーザー名(RDSインスタンスの作成時に作成したもの)

9)パスワード:マスターパスワード

10)[テスト接続]をクリックして、接続を確認します。

11)接続に成功したら、[OK]をクリックします。

12)接続を開きます。

13)データベース「realcardiodb」が表示されます。

14)これで、mysqldumpファイルをこのデータベースにエクスポートできます。 ->サーバーに移動します。 [データのインポート]をクリックします。

15)空のSQLファイルを開き、データベースの使用などの基本的なSQLコマンドを入力して、テーブルから*を選択するだけで、データが移行されたかどうかを確認できます。

それでおしまい。ビオラ。

21
Sajeev

PCにbackup.sqlがある場合、EC2に転送する必要はありません。 PCのターミナルで次の行を入力してください。

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

パスワードを入力:paswd_mysql_user

それで全部です。

既存のリモートサーバーからバックアップを直接インポート

リモートサーバーへのSSH接続

リモートサーバーのmysqlバックアップ(backup/path/backupfile.sql)を取得します。

リモートサーバーシェルでRDS mysqlにバックアップファイルをインポートする

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

注:

AWSドキュメントのようにEC2を含め、既存のバックアップを新しいRDSデータベースにインポートするために、上記のすべての基準を試しました。 10GBのバックアップでした。だから私もテーブルごとにテーブルを試してみました。プロセスが完了したことを示していますが、大きなテーブルでは一部のデータが欠落しています。そのため、DBからDBへのデータ移行スクリプトを作成する必要がありました。

3
Sadee

Mysql/mariadbの既存のdbをすでに実行中のRDSインスタンスに移行する方法についての ステップバイステップ の指示。

1
user11891562

ワークベンチの使用:

  1. 接続の確立

  2. 管理タブに移動し、データのインポート/復元をクリックします

  3. 自己完結型ファイルからのインポートをクリックします。

  4. mysqlbackup.sqlファイル。

  5. デフォルトのデータベースを選択します。

  6. インポート開始ボタンをクリックします。

コマンドラインの使用(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>

詳細については、次を参照してください: https://docs.aws.Amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.SmallExisting.html または https:// docs .bitnami.com/aws/how-to/migrate-database-rds /#using-phpmyadmin-11

それが役に立てば幸い。

1

これは、顧客データをRDSにインポートするためのAWS RDS Mysqlドキュメントです

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

  • ロードするデータを含むフラットファイルを作成する
  • ターゲットDBインスタンスにアクセスしているアプリケーションを停止します
  • DBスナップショットを作成する
  • Amazon RDS自動バックアップを無効にする
  • Mysqlimportを使用してデータをロードする
  • 自動バックアップを再度有効にする
0
Sathish