1 つのデータベースまたはコレクションの復元
スナップショットから単一のデータベースまたはコレクション(または特定のドキュメント)を復元するには、 クエリ可能なバックアップを使用して単一のデータベースまたはコレクションをエクスポートし、ターゲットの配置に復元します。
Considerations
復元を試みる前に、ターゲット配置のホストに復元ファイルと復元データベース用の十分なストレージ領域があること、およびデータセットの増加に対応する追加領域があることを確認してください。 現在のデータベース サイズを検索するには、 db.stats()を使用します。
クエリ可能なバックアップからのデータベースまたはコレクションの復元
クエリ可能なバックアップのスナップショットを使用して、データベースまたはコレクションのデータをエクスポートし、ターゲットの配置に復元できます。 次の手順では、Ops Manager が提供するトンネル[ 1 ]を介してクエリ可能なバックアップインスタンスに接続します。
注意
デーモンがインターネットにアクセスせずに実行される場合は、「配置構築でインターネット アクセスを制限する 」を参照して適切なバイナリをインストールしてください。
クエリ可能なスナップショットへのバックアップ トンネルを開きます。
クエリするスナップショットを選択し、[Next] をクリックします。
Start スナップショットをクエリするプロセス。2 要素認証を求められます。
クエリ可能なスナップショットへの接続方法としてBackup Tunnelを選択します。[1]
プラットフォームを選択してダウンロードします。
ダウンロードしたファイルを解凍します。
注意
クエリ可能なスナップショットがマウントされるまで待ってから続行します。 スナップショットのマウント時間は、スナップショットのサイズによって異なります。 スナップショットがマウントされていることを確認するには、 Continuous Backupに移動し、 Restore Historyタブを選択します。 スナップショットがマウントされると、 Status列はマウント操作の日時を報告します。
ターミナルまたはコマンド プロンプトを開き、解凍された <tunnel> ディレクトリに移動します。実行可能ファイルを実行してトンネルを開始します。
トンネルのデフォルト ポートは
27017
です。 ポートを変更するには、次の例のように--local
フラグを使用します。./<tunnel executable> --local localhost:27020 注意
ポートを変更する場合は、接続時にポート情報を含める必要があります。
mongodump
クエリ可能なバックアップから単一のデータベースまたはコレクションをエクスポートするには、 を使用します。
- データベースのデータをエクスポートするには、
トンネルに接続するには次の
mongodump
オプションを含めます[ 1 ] 。--port
トンネルのポートに設定--db
エクスポートするデータベースの名前に設定--out
空のディレクトリに設定して、データ ダンプを出力します。重要
mongodump
を実行しているユーザーが指定されたディレクトリに書込みできるようにします。
mongodump --port <port for tunnel> --db <single-database> --out <data-dump-path> - コレクションのデータをエクスポートするには、
トンネルに接続するには以下のオプションがあります[1] 。
--port
トンネルのポートに設定します。--db
エクスポートするデータベースの名前に設定します。--collection
単一のコレクション用。--out
空のディレクトリに設定して、データ ダンプを出力します。重要
mongodump
を実行しているユーザーが指定されたディレクトリに書込みできるようにします。
mongodump --port <port for tunnel> \ --db <single-database> \ --collection <collection-name> \ --out <data-dump-path> 例
ポート
27020
で動作しているトンネルに接続してrestaurants
コレクションのデータをtest
データベースから/mydata/restoredata/
ディレクトリにダンプするには、mongodump --port 27020 \ --db test \ --collection restaurants \ --out /mydata/restoredata/ mongodump
はrestaurants
コレクション データを/mydata/restoredata/test/restaurants.bson
ファイルに出力します。
mongorestore
単一のデータベースまたはコレクションを復元するには、 を使用します。
- 単独のデータベースを復元するには、
次の
mongorestore
オプションを含めます。オプションとして、データベースがすでに存在する場合は、宛先クラスター内のデータベースを削除するために
--drop
を含めることができます。
mongorestore --port <port> --db <destination database> <data-dump-path/database> --drop
たとえば、/mydata/restoredata/test
ディレクトリから新しいデータベース restoredTest
に復元するには、次のように行います。
mongorestore --port 27017 --db restoredTest /mydata/restoredata/test --drop
この例では、宛先レプリカセットのプライマリまたは宛先シャーディングされたクラスターのmongos
がポート27017
でリッスンしている ことを前提としています。
- 単独のコレクションを復元するには、
次の
mongorestore
オプションを含めます。オプションとして、コレクションがすでに存在する場合は、宛先クラスター内のコレクションを削除するために
--drop
を含めることができます。
mongorestore --port <port> --db <destination database> --collection <collection-name> <data-dump-path/dbname/collection.bson> --drop
たとえば、/mydata/restoredata/test/restaurants.bson
データ ファイルから test2
データベース内の新しいコレクション rest2
に復元するには、次のように行います。
mongorestore --port 27017 --db test2 --collection rest2 /mydata/restoredata/test/restaurants.bson --drop
この例では、宛先レプリカセットのプライマリまたは宛先シャーディングされたクラスターのmongos
がポート27017
でリッスンしている ことを前提としています。
[1] | ( 1 、 2 、 3 、 4 )あるいは、トンネル経由で接続する代わりに、提供されている X.509 PEM ファイルを使用して、クエリ可能なバックアップに直接接続することもできます。クエリ可能なバックアップに直接接続する場合は、ホスト名とポート、TLS/SSL オプション、および X.509 証明書を指定する必要があります。 |
重要
AES256-GCM で暗号化されたスナップショット復元後のマスター キー ローテーション
MongoDB Ops Managerが AES256-GCM を使用して 暗号化したスナップショット を復元する場合は、復元の完了後 に マスターキーをローテーションします 。