24

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をawsrdsにインポートした経験がある場合は、助けていただければ幸いです。

ありがとう!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で作成したデータベースの名前です。

ありがとう!

4

6 に答える 6

49

これは、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

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

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;
于 2012-08-01T20:26:06.433 に答える
27

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

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

MySQLワークベンチまたはSQLYog。

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

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

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ファイルを開き、use databaseなどの基本的なSQLコマンドを入力するだけで、データが移行されたかどうかを確認できます。テーブルから*を選択します。

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

于 2014-06-04T04:28:24.827 に答える
3

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)

リモートサーバーシェルにいる間にバックアップファイルをRDSmysqlにインポートします

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へのデータ移行スクリプトを作成する必要がありました。

于 2017-03-17T17:03:44.200 に答える
2

作業台の使用:

  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/を参照し ください 。移行データベース-rds/#using-phpmyadmin-110

それが役に立てば幸い。

于 2018-09-07T09:45:15.017 に答える
1

mysql/mariadb上の既存のデータベースをすでに実行中のRDSインスタンスに移行する方法のステップバイステップの説明。

于 2019-08-06T19:46:43.220 に答える
0

顧客データをRDSにインポートするためのAWSRDSMysqlドキュメントは次のとおりです

http://aws.amazon.com/articles/2933

  • ロードするデータを含むフラットファイルを作成する
  • ターゲットDBインスタンスにアクセスするすべてのアプリケーションを停止します
  • DBスナップショットを作成する
  • AmazonRDS自動バックアップを無効にする
  • mysqlimportを使用してデータをロードします
  • 自動バックアップを再度有効にする
于 2013-12-04T09:36:27.730 に答える