MongoDBでバックアップを作成するには、ファイルを直接コピーするか、いくつかのバックアップ/管理ツールのいずれかを使用します。
MongoDBデータベースをバックアップする方法はいくつかあります。
- データファイルをコピーする
-
mongodump
を使用する - MongoDBCloudManagerを使用する
- OpsManagerを使用する
データファイルをコピーする
MongoDBがデータの保存に使用する基になるデータファイルをコピーできます。これらはデータディレクトリにあります。
データディレクトリのデフォルトの場所は /data / db です。 ただし、別の場所を使用する場合は、代わりにその場所を使用する必要があります。
完全バックアップを行うには、ディレクトリ全体をコピーする必要があります。
ボリュームがスナップショットをサポートしている場合は、スナップショットを使用することもできます。たとえば、Linuxでは、LVM(Logical Volume Manager)を使用してスナップショットを作成し、そのスナップショットからバックアップサイト/リモートの場所にコピーできます。
mongodump
を使用する
mongodump
を使用できます データとmongorestore
をバックアップします 復元します。
実行中のサーバーのすべての内容をすばやくバックアップするには、新しいターミナル/コマンドプロンプトを開き、 / dump が必要なディレクトリに移動します。 作成するフォルダを入力し、次のように入力します。
mongodump
MongoDB binディレクトリがPATHにない場合は、フルパスを指定する必要があります。
mongodump を実行できない場合 、 mongo を終了したことを確認してください ユーティリティ、または mongodump を実行する前に新しいターミナル/コマンドプロンプトウィンドウを開きました 、別のユーティリティであるため。
結果のメッセージ:
2016-07-12T15:44:34.467+0700 writing music.artists to 2016-07-12T15:44:34.467+0700 writing music.musicians to 2016-07-12T15:44:34.467+0700 writing music.catalog to 2016-07-12T15:44:34.468+0700 done dumping music.artists (13 documents) 2016-07-12T15:44:34.469+0700 done dumping music.musicians (10 documents) 2016-07-12T15:44:34.469+0700 done dumping music.catalog (10 documents) 2016-07-12T15:44:34.470+0700 writing music.producers to 2016-07-12T15:44:34.470+0700 writing music.jazz to 2016-07-12T15:44:34.470+0700 done dumping music.producers (5 documents) 2016-07-12T15:44:34.470+0700 done dumping music.jazz (1 document) 2016-07-12T15:44:34.534+0700 writing test.restaurants to 2016-07-12T15:44:34.705+0700 done dumping test.restaurants (25359 documents)
MacのFinderでの表示は次のとおりです。
ご覧のとおり、 dump というフォルダが作成されています。 次に、各データベースのフォルダーを作成し、すべてのコレクションとそのメタデータをそれぞれのデータベースフォルダーにダンプします。 music を拡張しました そのディレクトリ内のファイルを表示するデータベースフォルダ。
mongodump
に注意してください 出力ファイルがバックアップデータフォルダに存在する場合は上書きするため、mongodump
を実行する前に、保持する必要のあるファイルを移動または名前変更してください。 もう一度。
単一のデータベースをバックアップする
--db
でデータベースの名前を指定することにより、単一のデータベースをバックアップできます。 パラメータ:
mongodump --db=music
単一のコレクションをバックアップする
--collection
でコレクションの名前を指定することにより、単一のコレクションをバックアップできます。 パラメータ:
mongodump --db=music --collection=artists
バックアップ場所を指定する
--out
を使用します バックアップを書き込むディレクトリを指定するパラメータ:
mongodump --db music --out /data/backups
その他のオプション
mongodump
データのバックアップ方法を指定するためのオプションがさらにたくさんあります。 mongodump --help
はいつでも実行できます 利用可能なオプションを確認します。
mongodump
の復元 バックアップ
mongodump
を復元できます mongorestore
を実行してバックアップする 。これはmongodump
と同じように機能します 。
mongorestore --help
を参照してください 詳細については
mongodump
およびmongorestore
主に小規模な展開、およびクエリに基づく部分的なバックアップと復元、本番環境からステージング環境または開発環境への同期、またはスタンドアロンのストレージエンジンの変更を目的としています。
大規模なシステム、シャードクラスター、またはレプリカセットの場合は、MongoDBCloudManagerやOpsManagerなどのより堅牢なバックアップシステムを使用します。
MongoDB Cloud Manager
MongoDB Cloud Managerは、MongoDBを管理するためのホスト型プラットフォームです。
MongoDB Cloud Managerを使用すると、MongoDBデプロイメントからoplogデータを読み取ることで、MongoDBレプリカセットとシャーディングされたクラスターを継続的にバックアップできます。
MongoDB Cloud Managerは、サブスクリプションベースで機能します。詳細はこちら。
Ops Manager
OpsManagerはMongoDBCloudManagerに似ていますが、ローカル環境にインストールされている(つまり、クラウドにインストールされていない)点が異なります。そのため、MongoDBデプロイメントの監視、自動化、およびバックアップに使用できます。
OpsManagerはMongoDBサブスクライバーが利用できます。