Docs Menu
Docs Home
/
MongoDB データベース ツール
/

mongodump の動作、アクセス、使用方法

項目一覧

  • 動作
  • 必要なアクセス権
  • バックアップ戦略での使用
  • 詳細

警告

Windows や macOS など、大文字と小文字を区別しないファイル システムにダンプすると、名前が大文字と小文字のみが異なるコレクションは上書きされます。 大文字と小文字を区別しないファイル システムの場合は、常に --archiveオプションを使用します。

警告

データダンプと復元でのフィールドの $ プレフィックスとの競合

MongoDB 5.0以降、ドキュメントフィールド名の前にドル記号( $ )を付けることができます。 ただし、コレクションのオプションにおいてドル記号が先頭に付いているフィールド名では、 mongodumpmongorestoreは機能しません。

MongoDB 拡張 JSON(v 2 )は、type wrapper と、type wrapper と同じ名前を持つフィールドを区別できません。 対応する BSON 表現に$プレフィックス付きキーが含まれる可能性がある場合は、拡張 JSON 形式を使用しないでください。 DBRefsメカニズムは、この一般ルールの例外です。

MongoDB URI でauthSourceが指定されていない場合、 --dbで指定されたデータベース名は、 mongodumpセッションの認証とダンプされるデータベースを示す両方に使用されます。 mongodumpを使用する際に認証に別のデータベースを使用する例については、「特定のデータベースによる認証 」を参照してください。

mongorestoreを使用してmongodumpによって作成されたデータファイルを読み込む場合、ソース配置と宛先配置の MongoDB バージョンは次のいずれかである必要があります。

  • 同一メジャー バージョン。

  • 同一機能互換バージョン。

たとえば、ダンプの作成元が 4.4 を実行中のMongoDB 配置であった場合、復元先となる MongoDB 配置でも、バージョン 4.4 を実行しているか、FCV を 4.4 に設定している必要があります。

機能の互換性バージョンを変更するには、 setFeatureCompatibilityVersionを参照してください。

注意

mongodump から生成された BSON ファイルは、復元元と同じかそれ以降のバージョンを実行中の MongoDB 配置に復元できます。ただし、新しいバージョンの配置へのファイルの復元は、配置のアップグレード方法としては推奨されていません。配置のアップグレード方法については、アップグレードのドキュメントを参照してください。

この保証は、メタデータ、アーカイブ、または oplog リプレイ ファイルには適用されません。復元元と復元先の配置バージョンが異なる状態でこれらのファイルを復元しようとすると、mongorestore プロセスに失敗したり、サイレント障害が発生したり、メタデータが破損したりする可能性があります。

さらに、データファイルをロードするには、 mongorestoreのバージョンが、データファイルの作成に使用したmongodumpのバージョンと同じであることを確認してください。 たとえば、 mongodumpバージョン100.10.0を使用してダンプを作成した場合、それを復元するにはmongorestoreバージョン100.10.0を使用します。

デフォルトでは、 mongodumpは読み込み設定(read preference primaryを使用します。 デフォルトを上書きするには、 コマンドライン オプションまたは --readPreferenceで読み込み設定( read preference--uri connection string )を指定します。

URI string と--readPreferenceオプションの両方で読み取り設定が指定されている場合、 --readPreferenceの値が URI string で指定された読み取り設定よりも優先されます。

--db } オプションと--collectionオプションの両方を指定すると、 mongodumpは指定されたコレクションをダンプします。

--dbオプションのみを指定すると、 mongodumpはそのデータベースを次の除外でダンプします。

  • --dbの値がadminの場合:

    • Atlas プロキシに接続していない場合、 mongodumpはデータベースをダンプしますが、 system.keysコレクションは除外されます。

    • Atlas プロキシに接続している場合、 mongodumpはデータベースをダンプしようとしますが、エラーが発生します。

  • --dbの値がconfigの場合、 mongodumpはそのデータベース内のすべてのコレクションをダンプします。

  • --dbの値がlocalの場合、 mongodumpはそのデータベース内のすべてのコレクションをダンプします。

  • 他のすべてのデータベースでは、 mongodumpsystem.で始まるすべてのコレクションを除外します( system.jsを除く)。

--dbオプションを省略すると、次の除外が適用されます。

  • mongodump localデータベースを除外します。

  • mongodump では、 configデータベースの出力に次のコレクションのみが含まれます。

    • chunks

    • collections

    • databases

    • settings

    • shards

    • tags

    • version

  • Atlas プロキシに接続している場合、 mongodumpadminデータベースを除外します。

mongodump output:

  • データベース内のドキュメントとインデックス定義が含まれます。

  • インデックス データは含まれません。

mongorestoreまたはmongodは、データ復元後にインデックスを再構築する必要があります。

ビュー を使用している場合:

  • デフォルトでは、 mongodumpはビューのメタデータのみをエクスポートします。 mongodumpでは、ビューに含まれるドキュメントのバイナリ エクスポートは作成されません。

  • ビュー内のドキュメントをエクスポートするには、 --viewsAsCollectionsを使用します。

mongodumpの出力がディレクトリに出力される場合、出力には次のプロパティを含むコレクション メタデータが含まれます。

  • コレクション名

  • コレクションの種類

  • コレクション構成オプション

  • UUID

  • Indexes

mongodumpの出力が標準出力( stdout )に出力される場合、出力にはメタデータは含まれません。 詳しくは、 --outオプションを参照してください。

mongodump メタデータ ファイルにExtended JSON v 2.0 (標準)形式を使用します。 これらのファイルを解析して復元するには、mongorestore 拡張 JSON v をサポートする を使用します。2 0(標準モードまたは緩和モード) 形式。

mongodump はバックアップ データ フォルダーに出力ファイルがある場合は、そのファイルを上書きします。 mongodumpコマンドを複数回実行する前に、出力フォルダー(デフォルトはdump/フォルダー)のファイルが不要であることを確認するか、フォルダーまたはファイルの名前を変更してください。

mongodump 次の場合に失敗します。

WiredTigerストレージ エンジンを使用するmongodインスタンスで実行すると、 mongodumpは非圧縮データを出力します。

mongodump は、 mongodのパフォーマンスに悪影響を与える可能性があります。 データがシステムメモリより大きい場合、 mongodumpはワーキングセットをメモリからプッシュします。

mongodump は、 FIPS モードを使用するように構成されたmongodまたはmongosへの FIPS 準拠の接続を自動的に作成します。

無料(M0)層および共有(M2M5)層の Atlas クラスターでは、次の制限が適用されます。

  • adminデータベースではmongodumpを実行できません。 デフォルトでは、 mongodumpはこのデータベースをスキップします。 --dbオプションを使用して宛先データベースをadminに設定すると、プログラムはエラーを返します。

  • mongodump プログラムでは、次のオプションは使用できません。

注意

ターゲット クラスターのロールバック

復元プロセス中にクラスターがロールバックした場合は、復元されたデータまたはインポートされたデータをすべて削除し、プロセスを最初からやり直してください。 詳細については、 ロールバックに関するドキュメント を参照してください。

アクセス制御が有効になっている MongoDB 配置に対してmongodumpを実行するには、バックアップするデータベースごとにfindアクションを許可する特権が必要です。 組み込みのbackupロールは、任意のデータベースのバックアップを実行するために必要な特権を提供します。

スタンドアロンまたはレプリカセットの場合、 mongodumpは、クエリに基づく部分的なバックアップ、本番環境からステージングまたは開発環境への同期、またはスタンドアロンのストレージ エンジンの変更に対してmongorestoreを使用したバックアップ戦略の一部になることができます。

バックアップおよび復旧戦略の一環としてmongorestoremongodumpを使用する方法の詳細については、以下をご覧ください。

mongodumpmongorestoreをシャーディングされたクラスターのバックアップ戦略として使用するには、「データベース ダンプを使用した自己管理型シャーディングされたクラスターのバックアップ 」を参照してください。

シャーディングされたクラスターではバックアップと復元に次のいずれかの連携的なプロセスも利用できます。これにより、書込みを受け入れながらシャード間のアトミック性が保証されます。

戻る

互換性とインストール