MongoDB バックアップ(mongodump)と復元(mongorestore)


MongoDBデータバックアップ

MongoDBでは、mongodumpコマンドを使用してMongoDBデータをバックアップします。このコマンドは、すべてのデータを指定したディレクトリにエクスポートできます。

mongodumpコマンドは、パラメータによってエクスポートするデータ量と転送先サーバーを指定できます。

構文

mongodumpコマンドのスクリプト構文は次のとおりです:

>mongodump -h dbhost -d dbname -o dbdirectory
  • -h:

    MongoDBサーバーのアドレス。例:127.0.0.1。もちろんポート番号も指定できます:127.0.0.1:27017

  • -d:

    バックアップするデータベースインスタンス。例:test

  • -o:

    バックアップデータの保存場所。例:c:\data\dump。このディレクトリは事前に作成しておく必要があります。バックアップ完了後、システムは自動的にdumpディレクトリ内にtestディレクトリを作成し、このディレクトリ内にそのデータベースインスタンスのバックアップデータを保存します。

例

ローカルで27017を使用してmongodサービスを起動します。コマンドプロンプトウィンドウを開き、MongoDBインストールディレクトリのbinディレクトリに移動して、mongodumpコマンドを入力します:

>mongodump

上記のコマンドを実行すると、クライアントはIP 127.0.0.1、ポート番号27017のMongoDBサービスに接続し、すべてのデータをbin/dump/ディレクトリにバックアップします。コマンドの出力結果は次のとおりです:

MongoDB数据备份

mongodumpコマンドのオプションパラメータリストは次のとおりです:

構文説明例
mongodump --host HOST_NAME --port PORT_NUMBERこのコマンドはすべてのMongoDBデータをバックアップしますmongodump --host example.com --port 27017
mongodump --dbpath DB_PATH --out BACKUP_DIRECTORYmongodump --dbpath /data/db/ --out /data/backup/
mongodump --collection COLLECTION --db DB_NAMEこのコマンドは、指定したデータベースのコレクションをバックアップします。mongodump --collection mycol --db test

MongoDBデータ復元

MongoDBはmongorestoreコマンドを使用してバックアップデータを復元します。

構文

mongorestoreコマンドのスクリプト構文は次のとおりです:

>mongorestore -h <hostname><:port> -d dbname <path>
  • --host <:port>, -h <:port>:

    MongoDBサーバーのアドレス。デフォルト:localhost:27017

  • --db , -d :

    復元するデータベースインスタンス。例:test。もちろん、この名前はバックアップ時と異なっていてもかまいません。例:test2

  • --drop:

    復元するときは、最初に現在のデータを削除してから、バックアップデータを復元します。つまり、復元後は、バックアップ後に追加・変更されたデータはすべて削除されます。慎重に使用してください!

  • <path>:

    mongorestoreの最後のパラメータは、バックアップデータの場所を設定します。例:c:\data\dump\test

    <path> と --dir オプションを同時に指定することはできません。--dir でもバックアップディレクトリを設定できます。

  • --dir:

    バックアップディレクトリを指定

    <path> と --dir オプションを同時に指定することはできません。

次に、以下のコマンドを実行します:

>mongorestore

上記のコマンドを実行すると、出力結果は次のとおりです:

MongoDB数据恢复

その他の拡張