mongodump
定義
mongodump
は、データベース コンテンツのバイナリ エクスポート作成用ユーティリティです。mongodump
のデータのエクスポート元は次のとおりです。
スタンドアロン配置
レプリカセット
シャーディングされたクラスター
MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、「mongorestore でのシード処理」を参照してください。
MongoDB Atlas への移行方法については、「データの移行またはインポート」を参照してください。
mongodump
は、mongod
と mongos
インスタンスに接続できます。
mongodump
から生成された BSON ファイルは、復元元と同じメジャー バージョンまたは機能の互換性バージョンを実行している MongoDB 配置に復元できます。
mongo
shell ではなく、システム コマンド ラインから mongodump
を実行します。
ストレージ コストを節約するために古いデータをアーカイブする場合、MongoDB Atlas での Online Archive の使用がおすすめです。Atlas Online Archive は、アクセス頻度の低いデータをフルマネージドの S3 バケットに自動的にアーカイブするコスト効果の高いデータ階層化ツールです。
mongodump
次のアイテムをダンプします。
コレクション ドキュメント、メタデータ、オプション。
インデックスの定義。
mongodump
--oplog
オプションを指定して実行した場合に、エクスポート中に発生する書き込み。
mongodump
は、ディレクトリまたはバイナリ アーカイブ ファイルにデータをダンプします。
重要
Queryable Encryptionを使用するコレクションでは mongodump
は使用できません。
ディレクトリへのデータのダンプ
以下は、mongodump
ディレクトリのダンプ構造とファイルの例です。
dump ├── easternSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json ├── westernSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json └── oplog.bson
mongodump
はディレクトリ ダンプ用に次のアイテムを作成します。
デフォルト名が
dump
のルート ディレクトリ。mongodump
--out
オプションを使用して名前を設定できます。各データベースのルート ディレクトリのサブディレクトリ。たとえば、データベース名が
easternSalesDatabase
の場合は、サブディレクトリ名もeasternSalesDatabase
になります。各コレクションのドキュメントを含む BSON ファイル。たとえば、コレクション名が
sales
の場合、BSON ファイル名はsales.bson
になります。各データベース ディレクトリ内の各コレクションのメタデータ JSON ファイル。例として、メタデータ
sales.metadata.json
ファイルが挙げられます。ファイルには、エクスポートされたコレクションのメタデータ、オプション、インデックスが収録されているドキュメントが含まれます。各ビューのメタデータ JSON ファイル。例として、メタデータ
salesByMonthView.metadata.json
ファイルが挙げられます。BSON ファイルはビューに含まれません。ルート ディレクトリに配置される任意の oplog
oplog.bson
ファイルで、mongodump
の実行中に発生した書き込み操作が含まれます。oplog.bson
ファイルを出力するには、mongodump
--oplog
オプションを使用します。
mongodump
--gzip
オプションを使用する場合、BSON ファイルと JSON メタデータ ファイルは圧縮されます。エクスポートされる圧縮ファイル名の末尾には、bson.gz
と metadata.json.gz
が付きます。
バイナリ アーカイブ ファイルへのデータのダンプ
バイナリ アーカイブ ファイルにデータをダンプするには、mongodump
--archive
オプションを使用します。mongodump
が作成するバイナリ ファイルにはアーカイブされたデータが含まれます。
構文
mongodump
構文:
mongodump <options> <connection-string>
ポート 27017 で実行されているローカル MongoDB インスタンスに接続し、デフォルト設定を使用してコンテンツをエクスポートするには、mongodump
をコマンドライン オプションなしで実行します。
mongodump
MongoDB インスタンスのホストおよび/またはポートを指定するには、次のようにします。
ホスト名とポートを
--uri connection string
オプションで指定します。mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options] ホスト名とポートを
--host
オプションで指定します。mongodump --host="mongodb0.example.com:27017" [additional options] --host
オプション、および--port
オプションでホスト名とポートを次のように指定します。mongodump --host="mongodb0.example.com" --port=27017 [additional options]
レプリカセットに接続してデータをエクスポートするには、次のようにします。
--uri connection string
オプションでレプリカセットの名前とノードを指定します。mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName" [additional options] --host
オプションでレプリカセットの名前とノードを指定します。mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" [additional options]
mongodump
のデフォルト設定では、レプリカセットのプライマリからデータが読み取られます。このデフォルト設定を上書きするには、読み込み設定(read preference)を次のように変更します。
読み込み設定 (read preference) は
--uri connection string
オプションで指定できます。mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary" [additional options] 読み込み設定(read preference)タグを指定する場合、
readPreferenceTags
オプションを次のとおり含めます。mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" [additional options] 読み込み設定 (read preference) は
--readPreference
コマンドライン オプションを使用して指定することができます。コマンドライン オプションは、読み込み設定 (read preference) モードのみを指定する場合、string を取ります。mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary [additional options] また、コマンドライン オプションは、引用符で囲まれたドキュメント
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'
を受け取り、モード、任意の読み込み設定 (read preference) タグ セット、任意の maxStalenessSeconds を次のように指定できます。mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
注意
データの不整合を回避するには、 mongodump
を実行するときにシャーディングされたクラスターで次のアクションを一時停止します。
クロスシャード トランザクション
データ定義言語操作(コレクションを作成および変更する操作)
チャンク バランシング
バランサーを停止するには、 sh.stopBalancer()
メソッドを使用します。
シャーディングされたクラスターに接続してデータをエクスポートするには、次の操作を実行します。
--uri connection string
オプションでmongos
インスタンスのホスト名を指定します。mongodump --uri="mongodb://mongos0.example.com:27017" [additional options] mongos
インスタンスのホスト名とポートを--host
オプションで次のように指定します。mongodump --host="mongos0.example.com:27017" [additional options]
mongodump
のデフォルト設定では、シャード レプリカセットのプライマリからデータが読み取られます。このデフォルト設定を上書きするには、読み込み設定(read preference)を次のように変更します。
読み込み設定 (read preference) は
--uri connection string
オプションで指定できます。mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options] 読み込み設定(read preference)タグを指定する場合、
readPreferenceTags
オプションを次のとおり含めます。mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options] 読み込み設定(read preference)は、
--readPreference
コマンドライン オプションを使用して指定できます。読み込み設定モードのみを指定する場合、コマンドライン オプションでは次の文字列が使用されます。mongodump --host="mongos0.example.com:27017" --readPreference=secondary [additional options] また、コマンドライン オプションは、引用符で囲まれたドキュメント
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}'
を受け取り、モード、任意の読み込み設定 (read preference) タグ セット、任意の maxStalenessSeconds を次のように指定できます。mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
オプション
--quiet
出力量を制限する quiet モードで
mongodump
を実行します。このオプションにより次の項目が抑制されます。
データベース コマンドからの出力
レプリケーション アクティビティ
接続を受け付けたイベントと接続を終了したイベント
エラーメッセージを含むすべてのログ(オプションの解析時に発生するログを除く)
--config=<filename>
バージョン 100.3.0 の新機能。
次のオプションの機密値を含む YAML 構成ファイルへのフル パスを
mongodump
に指定します。これは、
mongodump
にパスワードを指定するのに、パスワード プロンプトを使用して指定する以外で推奨される方法です。構成ファイルは以下の形式をとります。
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password:
フィールドにパスワードを指定し、競合するパスワードを含む接続文字列をuri:
フィールドに指定すると、エラーが発生します。このファイルは、必ず適切なファイルシステム権限で保護してください。
注意
--config
で構成ファイルを指定し、かつmongodump
--password
、--uri
または--sslPEMKeyPassword
オプションも使用する場合、各コマンドライン オプションによって構成ファイルの対応オプションが上書きされます。
--uri=<connectionString>
MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" mongodump
のバージョン100.0
以降、接続文字列は、--uri
オプションを使用せずに、位置パラメータとして入力することもできます。mongodump mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 接続文字列は、位置指定パラメータとして
mongodb://
またはmongodb+srv://
で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。mongodump --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 入力できる接続文字列は 1 つのみです。複数の値を含めようとすると、
--uri
オプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。
注意
connection string
内の一部のコンポーネントは、--username
や--password
など、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。注意
mongodump
を Ubuntu 18.04 で使用する場合、(mongodb+srv://
形式で)SRV 接続文字列を--uri
オプションと併用する場合、cannot unmarshal DNS
というエラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--uri
オプションと非 SRV 接続文字列(mongodb://
形式)直接接続するホストを指定するための
--host
オプション
--host=<hostname><:port>, -h=<hostname><:port>
デフォルト: localhost:27017
MongoDB 配置の解決可能なホスト名を指定します。デフォルトでは、
mongodump
によってポート番号27017
のローカルホストで実行されている MongoDB インスタンスに接続しようとします。レプリカセットに接続するには、
replSetName
とセットノードのシードリストを次のように指定します。--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> レプリカセット リスト形式を指定する場合、
mongodump
は常にプライマリに接続します。また、レプリカセットの任意の 1 つのノードに接続するには、そのノードのみのホストとポートを指定します。
--host=<hostname1><:port> IPv6 を使用し、
<address>:<port>
形式を使用する場合は、アドレスとポートの組み合わせの部分を括弧で囲む必要があります。例:[<address>]
。あるいは、
URI connection string
でホスト名を直接指定することもできます。--host
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--port=<port>
デフォルト: 27017
MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。
あるいは、
URI connection string
でポートを直接指定することもできます。--port
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--ssl
TLS/SSL サポートが有効になっている
mongod
またはmongos
への接続を有効にします。あるいは、
URI connection string
で TLS/SSL サポートを直接構成することもできます。--ssl
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--sslCAFile=<filename>
証明書認証機関からのルート証明書チェーンを含む
.pem
ファイルを指定します。相対パスまたは絶対パスを使用して.pem
ファイルのファイル名を指定します。あるいは、
URI connection string
で.pem
ファイルを直接指定することもできます。接続文字列を提供し、さらに--sslCAFile
を使用中に競合する情報を指定すると、エラーが発生します。
--sslPEMKeyFile=<filename>
TLS/SSL 証明書とキーの両方を含む
.pem
ファイルを指定します。相対パスまたは絶対パスを使用して、.pem
ファイルのファイル名を指定します。このオプションは、
mongod
、またはallowConnectionsWithoutCertificates
なしでCAFile
が有効になっているmongos
に接続するために、--ssl
オプションを使用する際に必要です。あるいは、
URI connection string
で.pem
ファイルを直接指定することもできます。接続文字列を提供し、さらに--sslPEMKeyFile
を使用中に競合する情報を指定すると、エラーが発生します。
--sslPEMKeyPassword=<value>
証明書キー ファイルの複合化用パスワード(
--sslPEMKeyFile
)を指定します。証明書キー ファイルが暗号化されている場合にのみ、`--sslPEMKeyPassword
オプションを使用します。いずれの場合も、mongodump
ではすべてのログとレポート出力でパスワードが非表示になります。PEM ファイル内の秘密キーが暗号化されており、
--sslPEMKeyPassword
オプションを指定しない場合は、mongodump
ではパスフレーズの入力が求められます。詳細については、「TLS/SSL 証明書のパスフレーズ」を参照してください。あるいは、
URI connection string
でパスワードを直接指定することもできます。--sslPEMKeyPassword
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。警告
一部のシステムでは、
--sslPEMKeyPassword
オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるps
などのシステム ステータス プログラムに表示される場合があります。代わりに--config
オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。
--sslAllowInvalidCertificates
サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。
allowInvalidCertificates
設定を使用すると、MongoDB では無効な証明書の使用に対する警告としてログに記録されます。警告
あるいは、
URI connection string
で証明書の検証を直接無効にすることもできます。接続文字列を提供し、さらに--sslAllowInvalidCertificates
を使用して競合する情報を指定すると、エラーが発生します。
--sslAllowInvalidHostnames
TLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、
mongodump
によって MongoDB インスタンスへの接続が許可されます。あるいは、
URI connection string
でホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnames
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--username=<username>, -u=<username>
認証を使用する MongoDB database への認証すに使用するユーザー名を指定します。
--password <mongodump --password>
および--authenticationDatabase <mongodump --authenticationDatabase>
オプションと組み合わせて使用します。あるいは、
URI connection string
でユーザー名を直接指定することもできます。--username
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS アクセス キー ID を指定できます。このフィールド
AWS_ACCESS_KEY_ID
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
--password=<password>, -p=<password>
認証を使用する MongoDB database に対して認証するためのパスワードを指定します。
--username <mongodump --username>
および--authenticationDatabase <mongodump --authenticationDatabase>
オプションと組み合わせて使用します。ユーザーにパスワードの入力を求めるには、
--username <mongodump --username>
オプションを--password <mongodump --password>
なしで渡すか、--password ""
のように--password <mongodump --password>
の値に空の 文字列を指定します。あるいは、
URI connection string
でパスワードを直接指定することもできます。--password
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS シークレットアクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--password
オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるps
などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--password
オプションを省略し、インタラクティブなパスワード プロンプトを表示する--config
オプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>
MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続し、AWS アクセスキー ID とシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所に AWS セッション トークンを指定できます。このフィールド
AWS_SESSION_TOKEN
authMechanismProperties
パラメーターをconnection string
へ、またはAWS_SESSION_TOKEN
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
MONGODB-AWS
authentication mechanism
を使用している場合にのみ有効です。
--authenticationDatabase=<dbname>
指定済みの
--username <mongodump --username>
が作成された認証データベースを指定します。詳細については、「認証データベース」を参照してください。認証データベースを指定しない場合、
mongodump
ではエクスポート対象として指定されたデータベースがユーザー認証情報を保持していると想定されます。認証データベースまたはエクスポートするデータベースを指定しない場合、
mongodump
ではadmin
データベースがユーザー認証情報の格納先であると想定されます。GSSAPI(Kerberos)、PLAIN(LDAP SASL)、または
MONGODB-AWS
authentication mechanisms
を使用する場合は、--authenticationDatabase
を$external
に設定する必要があります。あるいは、
URI connection string
で認証データベースを直接指定することもできます。--authenticationDatabase
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>
デフォルト: SCRAM-SHA-1
mongodump
インスタンスが認証に使用する認証メカニズムとして、mongod
またはmongos
を指定します。バージョン 100.1.0 での変更: バージョン
100.1.0
以降、MongoDB Atlas クラスターへの接続時にMONGODB-AWS
認証メカニズムのサポートがmongodump
に追加されます。値説明SHA-1 ハッシュ関数を使用する RFC5802 標準の Salted Challenge Response Authentication Mechanismです。SHA-256 ハッシュ関数を使用する RFC 7677 標準の Salted Challenge Response Authentication Mechanism。
featureCompatibilityVersion を
4.0
に設定する必要があります。MongoDB TLS/SSL 証明書認証。MONGODB-AWS
MongoDB Atlas クラスターへの接続に使用する AWS IAM 認証情報を使用した外部認証。「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。
バージョン 100.1.0 の新機能。
GSSAPI(Kerberos)Kerberos を使用する外部認証。このメカニズムは MongoDB Enterprise でのみ使用できます。PLAIN(LDAP SASL)LDAP を使用する外部認証。データベース内のユーザー認証には、PLAIN
を使用することもできます。PLAIN
はパスワードをプレーン テキストで送信します。このメカニズムは MongoDB Enterprise でのみ使用できます。あるいは、
URI connection string
で認証メカニズムを直接指定することもできます。--authenticationMechanism
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--gssapiServiceName
GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名
mongodb
を使用しない場合のみ必要となります。このオプションは MongoDB Enterprise でのみ使用できます。
あるいは、
URI connection string
でサービス名を直接指定することもできます。--gssapiServiceName
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--gssapiHostName
GSSAPI/Kerberos </core/kerberos>
を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要です。このオプションは MongoDB Enterprise でのみ使用できます。
--db=<database>, -d=<database>
バックアップするデータベースを指定します。指定しない場合、
mongodump
ではこのインスタンスのすべてのデータベースがダンプ ファイルにコピーされます。あるいは、
URI connection string
でデータベースを直接指定することもできます。--db
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--collection=<collection>, -c=<collection>
バックアップするコレクションを指定します。コレクションを指定せずにこのオプションを選択すると、特定のデータベースまたはインスタンスに含まれるすべてのコレクションがダンプ ファイルにコピーされます。
--query=<json>, -q=<json>
mongodump
の出力に含まれるドキュメントをオプションで制限するクエリとして JSON document を入力します。--query
オプションを使用するには、--collection <mongodump --collection>
オプションも指定する必要があります。shell 環境とやり取りしないように、クエリ ドキュメントを一重引用符(
'{ ... }'
)で囲む必要があります。クエリ には、フィールド名とオペレーターを引用符で囲むなどの拡張 JSON v2 形式(緩和モード、標準モード、厳密モードのいずれか)を必ず使用します。以下に例を挙げます。
mongodump -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' $regex
をmongodump
と併用するには、次の構文を使用します。mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }' 注意
時系列コレクションで
--query
オプションを使用する場合、metaField
と指定されているフィールドのみをクエリできます。
--queryFile=<path>
mongodump
の出力に含まれるドキュメントを制限するクエリフィルターとして、JSON document を含むファイルへのパスを指定します。--queryFile
を使用すると、ターミナルのバッファに収まらないほど大きなクエリフィルターを作成できます。注意
時系列コレクションで
--queryFile
オプションを使用する場合、metaField
と指定されているフィールドのみをクエリできます。
--readPreference=<string|document>
デフォルト:
primary
mongodump
の読み込み設定(read preference)を指定します。--readPreference
には次のような選択肢があります。読み込み設定 (read preference) モードのみを指定する場合の文字列
--readPreference=secondary モード、オプションの読み込み設定(read preference)タグセット、任意の maxStalenessSeconds を指定するために、次のとおり引用符で囲まれたドキュメント。
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' maxStalenessSeconds の指定値は 90以上である必要があります。
mongodump
primary
がデフォルトの読み込み設定(read preference)に指定されます。--uri connection string <--uri>
も読み込み設定(read preference)に含まれている場合、コマンドライン--readPreference
によって URI文字列で指定された読み込み設定が上書きされます。
--gzip
出力を圧縮します。
mongodump
の出力先がダンプ ディレクトリである場合、この新機能によって個々のファイルが圧縮されます。圧縮ファイルの拡張子は.gz
です。mongodump
アーカイブ ファイルまたは標準出力ストリームに出力する場合、新しい機能により、アーカイブ ファイルまたはストリームに出力されるデータが圧縮されます。
--out=<path>, -o=<path>
ダンプされるデータベース用に
mongodump
によってBSON ファイルが書き込まれるディレクトリを指定します。mongodump
での出力ファイルのデフォルトの保存先は、現在の作業ディレクトリにあるdump
という名前のディレクトリです。データベース ダンプを標準出力に送信するには、パスの代わりに「
-
」を指定します。ダンプを圧縮するためにgzip
を使用するなど、出力を保存する前に処理する場合は、標準出力に書き込みます。標準出力の書き込み時に、mongodump
でファイルに直接書き込みが行われる場合、<dbname>.metadata.json
ファイルへの書き込みにメタデータは使用されません。--archive
オプションを--out
オプションと一緒に使用することはできません。
--archive=<file>
指定されたアーカイブ ファイルに出力を書き込み (write) ます。アーカイブ ファイルが指定されていない場合は、標準出力(
stdout
)に書き込みます。アーカイブ ファイルは、複数の BSON ファイルの代わりとなる 単一ファイルです。アーカイブ ファイルにダンプを出力するには、
--archive <mongodump --archive>
オプションとアーカイブ ファイル名を指定してmongodump
を実行します。mongodump --archive=<file> 標準出力ストリームにダンプを出力して別のプロセスにつなげるには、
--archive <mongodump --archive>
オプションを指定(ただし、ファイル名は省略)して、mongodump
を実行します。mongodump --archive
--archive <mongodump --archive>
オプションを--out <mongodump --out>
オプションと一緒に使用することはできません。
--oplog
mongodump
出力の一部としてoplog.bson
という名前のファイルを作成します。出力ディレクトリの最上位にあるoplog.bson
ファイルには、mongodump
操作中に発生したoplog エントリが含まれています。復元操作で
oplog.bson
ファイルから oplog エントリを適用するには、mongorestore --oplogReplay
を使用します。mongodump --oplog
とmongorestore --oplogReplay
を併用すると、データが最新で、ダンプ中に発生したすべての書き込み (write) が含まれていることを確認できます。--oplog
を使用しない場合に、ダンプ操作中に書き込みが行われると、そのダンプには特定の時点が反映されません。更新プロセス中にデータベースに変更を加えると、バックアップの出力に影響する可能性があります。書込み (write) を受け入れながら個々のレプリカセットをバックアップするには、
--oplog
を使用します。mongodump
を使用してシャーディングされたクラスターをバックアップするには、「データベース ダンプを使用して自己管理型シャーディングされたクラスターをバックアップする 」を参照してください。重要
--oplog
を使って実行中のmongodump
は、ダンプ処理中にリストされたいずれかの操作指示がクライアントから出されると、失敗します。--oplog
は、mongos
インスタンスでmongodump
を実行してシャーディングされたクラスターのコンテンツ全体をダンプしても効果はありません。--oplog
oplog を維持するノードに対してのみ機能します。レプリカセットのすべてのノードもその一例です。--oplog
は oplog コレクションをダンプしません。注意
mongodump
を--oplog
と併用するには、レプリカ セット メンバーの完全なダンプを作成する必要があります。次のオプションを使ってダンプされるデータを制限する場合には、mongodump
は--oplog
と併用できません。--db
--collection
--dumpDbUsersAndRoles
--query
--dumpDbUsersAndRoles
特定のデータベースで
mongodump
を実行時に、ユーザー定義とロール定義がデータベースのダンプ ディレクトリに追加されます。このオプションが適用されるのは、--db
オプションでデータベースを指定した場合に限定されます。MongoDB では、特定データベースだけでなくインスタンス全体にmongodump
が適用される場合は、常にユーザー定義とロール定義が追加されます。
--excludeCollection=<string>
mongodump
出力から指定コレクションを除外します。複数のコレクションを除外するには、--excludeCollection
を複数回指定します。
--excludeCollectionsWithPrefix=<string>
mongodump
出力から指定プレフィックスを持つすべてのコレクションを除外します。複数のプレフィックスを指定するには、--excludeCollectionsWithPrefix
を複数回指定します。
--viewsAsCollections
このオプションを指定すると、
mongodump
ではビューがコレクションとしてエクスポートされます。注意
ビューのみがエクスポートされます。
mongodump
のデフォルト設定では、ビューのメタデータのみがエクスポートされます。ビュー内のドキュメントをエクスポートするには、--viewsAsCollections
オプションを使用します。mongodump
ではビューごとに、そのビューのドキュメントを含む BSON ファイルが作成されます。mongodump
によって作成された BSON ファイルとともにmongorestore
を使用すると、ビューはコレクションとして復元されます。--viewsAsCollections
を含めない場合、mongodump
では各ビューのメタデータがキャプチャされます。mongorestore
操作にビューのメタデータ ファイルを含めると、ビューが再作成されます。
--compressors=<string>
MongoDBサーバーと
mongodump
間で使用される圧縮アルゴリズムを指定します。--compressors
オプションには、これらの値の 1 つ以上を使用できます。snappy
zlib
zstd
複数の圧縮アルゴリズムを指定した場合、
mongodump
はMongoDBデプロイでサポートされているリスト内の最初の 1 つを使用します。コンプレッサーの詳細については、 Goドライバー ネットワーク圧縮ドキュメント を参照してください。
詳細
mongodump
の詳細については、以下を参照してください。
チュートリアルについては、「データベース ダンプを使用して自己管理型シャーディングされたクラスターをバックアップする 」を参照してください。
TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。