Mongodbは、単純なmongodump
およびmongorestore
ユーティリティから、ポイントインタイムリカバリのためにOplogバックアップを使用するなど、より洗練された方法に至るまで、データをバックアップして復元する方法を提供します。選択は、ニーズとインフラストラクチャに依存します。
mongodump
とmongorestore
の使用:これは最も単純な方法であり、データの論理的なバックアップを作成します。 mongodump
データをJSONファイルのセットにエクスポートします。これにより、 mongorestore
がインポートしてデータベースを再構築します。
mongodump --uri "mongodb://<username>:<password>@<host>:<port>/<database>" --out <backup_directory></backup_directory></database></port></host></password></username>
。プレースホルダーを接続文字列と目的の出力ディレクトリに置き換えます。 --collection
または--excludeCollection
オプションを使用してバックアップするか、除外するコレクションを指定できます。コンプレッション( --gzip
)を使用して、ストレージスペースを減らすことを検討してください。mongorestore
: mongorestore --uri "mongodb://<username>:<password>@<host>:<port>/<database>" <backup_directory></backup_directory></database></port></host></password></username>
使用します。繰り返しますが、プレースホルダーを接続文字列とバックアップディレクトリに置き換えます。復元する前に、既存のコレクションを復元または使用する--drop
を指定できます。この方法は、より小さなデータベースまたは定期的な完全なバックアップ戦略として適しています。ただし、特定の瞬間にスナップショットを作成するため、ポイントインタイムの回復には理想的ではなく、復元プロセス中にダウンタイムが必要です。
堅牢なMongoDBバックアップ戦略を実装するには、いくつかのベストプラクティスを慎重に検討する必要があります。
MongoDBバックアップとプロセスの復元を自動化することは、効率と信頼性に不可欠です。いくつかの方法はこれを達成します:
mongodump
とmongorestore
コマンドを自動化します。 Cron Jobs(Linux/MacOS)またはタスクスケジューラ(Windows)を使用してこれらのスクリプトをスケジュールします。MongoDBはいくつかのバックアップ方法を提供します。それぞれが異なるニーズに適しています。
mongodump
/ mongorestore
(論理バックアップ):これは、シンプルなファイルベースのバックアップです。小さなデータベースまたは定期的な完全なバックアップ戦略として使用します。比較的遅く、復元プロセス中にダウンタイムが必要です。mongodump
とmongorestore
超えたツールが必要です。最良の方法は、RPO、RTO、データベースサイズ、およびインフラストラクチャに依存します。厳しい回復要件が少ない小さなデータベースでは、 mongodump
/ mongorestore
で十分かもしれません。より速い回復とポイントインタイムの回復機能を必要とするより大きなデータベースの場合、OPLOGバックアップまたは専門的なサードパーティソリューションが望まれます。バックアッププロセス中のダウンタイムを最小限に抑えることが最重要である場合は、スナップショットバックアップを検討してください。
以上がMongoDBでバックアップと復元を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。