mongodump
を使用してデータベースをバックアップした場合 ユーティリティ、mongorestore
を使用して復元できます ユーティリティ。
mongorestore
ユーティリティは、mongodump
によって作成されたバイナリデータベースダンプからデータをロードします またはmongod
への標準入力 またはmongos
インスタンス。
MongoDBデータベースツールを確認する
mongorestore
ユーティリティは、MongoDBデータベースツールパッケージの一部です。 MongoDBデータベースツールは、MongoDBを操作するためのコマンドラインユーティリティのスイートです。
MongoDBデータベースツール/mongorestore
を使用しているかどうかわからない場合 インストールされています。ターミナルまたはコマンドプロンプトで次のコマンドを実行して確認してください。
mongorestore --version
お持ちでない場合は、MongoDB Webサイトにあるインストール手順を使用して、システムにインストールできます。
コマンドを実行する場所
mongorestore
を実行する必要があります システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongo
から実行しないでください シェル。
ディレクトリからすべてのデータベースを復元する
次のコマンドは、dump/
にバックアップされたすべてのデータベースを復元します。 ディレクトリ:
mongorestore dump/
この例では、データベースをデフォルトのポート27017で実行されているローカルインスタンスに復元します。ホスト、ポート、認証情報などを提供しなかったため、これはわかっています。
特定のデータベースを復元する
--nsInclude
を使用できます 復元するデータベースを指定するパラメータ。
例:
mongorestore --nsInclude="PetHotel.*" dump/
この場合、PetHotel
を復元しました データベース。アスタリスクのワイルドカード(*
を使用したため、すべてのコレクションを復元しました )すべてのコレクションを指定します。
特定のコレクションを復元する
--nsInclude
を使用することもできます 復元するコレクションを指定するパラメータ。
例:
mongorestore --nsInclude="PetHotel.pets" dump/
この例では、PetHotel
からペットコレクションを復元します データベース。データベースが存在しない場合は、単一のコレクション(pets
)で作成されます 。
この例は、アスタリスクのワイルドカード(*
)を使用する代わりに、前の例とほとんど同じです。 )すべてのコレクションを指定するために、復元するコレクションを明示的に指定しました。
コレクションの名前を変更する
--nsFrom
を使用できます および--nsTo
コレクションの新しい名前を指定するためのパラメーター。
例:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/
これにより、pets
の名前が変更されます pets2
へのコレクション 。
上記のコードは、dump/
内の他のすべてのデータベースとコレクションも復元することに注意してください。 ディレクトリ。唯一の違いは、pets
コレクションはpets2
として復元されます 。
単一のコレクションのみを復元する(そしてプロセスで名前を変更する)場合は、--nsInclude
を使用します。 パラメータ。
例:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/
データベースの名前を変更する
同じ概念を使用して、データベースの名前を変更できます。 --nsFrom
を使用するだけです および--nsTo
データベースの新しい名前を指定するためのパラメータ。
例:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/
この場合、PetHotel
の名前を変更しました PetHouse
へのデータベース 。
--nsInclude
に注意してください パラメータはnewを指定します データベース名。また、アスタリスクのワイルドカード(*
)を使用します )そのデータベース内のすべてのコレクションを復元するため。
コレクションを除く
--nsExclude
を使用できます 除外するコレクションを指定するパラメータ 復元プロセスから。
例:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/
この例では、PetHotel
内のすべてのコレクションを復元します dogs
を除くデータベース コレクション。
--nsExclude
を使用できます 復元プロセスから複数のコレクションを除外するために複数回。
例:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/
アクセス制御/認証
前の例は、デフォルトのポートを使用してローカルマシンで実行されました。これは、mongodump
を実行できたことを意味します --host
などを指定せずに 、--port
、--username
、など。
これらのパラメータを使用してhomer
として認証する例を次に示します。 :
mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30
--password
を使用することもできます パラメータですが、しませんでした。 --user
を渡すと ただし、--password
ではありません 、パスワードの入力を求められます。
圧縮ファイルからの復元
--gzip
を使用できます mongodump --gzip
によって作成された圧縮ファイルまたはデータストリームから復元するパラメータ 。
例:
mongorestore --gzip --nsInclude="krankykranes.*" dump3/
クワイエットモード
--quiet
を使用できます ターミナルまたはコマンドプロンプトウィンドウの出力を制限するパラメータ。
mongorestore --quiet
これを使用しないと、復元されたビューやコレクションなどの大きなリストが表示される可能性があります。
詳細モード
反対に、--verbose
を使用できます または-v
増加するパラメータ ターミナルまたはコマンドプロンプトウィンドウの出力。
mongorestore --verbose
-v
を繰り返すことで、冗長性を高めることができます 複数回形成します。
例:
mongorestore -vvvv
mongodumpに関する詳細情報
mongorestore
ユーティリティは他にも多くの有用なパラメータを受け入れます。また、バックアップおよびリカバリ戦略の一部として使用する場合は、考慮すべきさまざまな要素があります。
mongorestore
をご覧ください 詳細については、MongoDBWebサイトのドキュメントを参照してください。
その他のオプション
mongodump
およびmongorestore
小規模なMongoDBデプロイメントをバックアップおよび復元するためのシンプルで効率的なツールですが、大規模なシステムのバックアップをキャプチャするのには理想的ではありません。
MongoDBデータベースをバックアップおよび復元する他の方法については、MongoDBWebサイトのMongoDBバックアップ方法を参照してください。