問題タブ [mongodump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - mongodump が `skipping collection: my_db.my_collection.$_id_` を表示するのは正常ですか?
私は自分のデータベースをmongodumpしようとしました:
しかし、各コレクションには興味深い出力がありました (冗長でした)。興味深い行がいくつかあります。
どういう意味ですか: skipping collection: my_db.my_collection.$_id_
、なぜidフィールドなのですか? 一部のデータがダンプされていないということですか、それともバックアップに ID がないということですか (そのため、データベースの復元中に新しい ID が割り当てられますか? )
奇妙なことmongo show dbs
に、サイズmy_db
は約 1Gb ですが、ファイル全体のサイズ.bson
はわずか 150Mb です。
mongodb - 異なるマシンで異なる動作をするmongorestore?
私は次のことを行います:
私のローカルマシンで、それは正常に動作します。Amazon の私の開発マシンでは、同じコマンドと同じデータベース ダンプと同じバージョンの mongodb (2.0.4) からこの出力を取得します。
インポートされたデータは完全ではありません。私は何を間違っていますか?
mongodb - MongoDB ポイント イン タイム リカバリ
特定時点の oplog 復元を実行しようとしていますが、実行中のシステムの oplog が、復元しようとしている oplog よりも新しいとシステムから通知され、救済されます。
私はmongo 2.4を使用しています
mongodb - mongodb mongodump mongorestore
サイズが 600GB のデータベースに対して 3 シャード クラスターで「mongodump」を実行し、3 つのシャードすべてに均等に分散されたチャンクを実行しました。
私のmongodumpコマンドは次のようなものでした:
mongodump --db mydb123 --authenticationDatabase admin --journal -u root -p password123 -o mydb123
チャンクは 3 つのシャードすべてにほぼ均等に分散されました。++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++
次に、ダンプ ファイルを新しいクラスターに移動し、新しい 2 シャード クラスターでこのダンプ ファイルの "mongorestore" を実行しました。現在、このデータベースのサイズはわずか 80 GB です。これは予想通りだと思います(コンパクトアクション)。しかし、ここに私の問題があります。新しい 2 シャード クラスターで、コマンド "sh.status()" を実行しても、このデータベースのチャンクは表示されません。私のmongorestoreコマンドは次のようでした:
mongorestore -u root -p newpass123 --authenticationDatabase admin --verbose /data/db/backups/new_dir/mydumpfile
++++++++++++++++++++++++++++++++++++++ このmongorestoreコマンドの実行でエラーはありませんでした。SH.STATUS() の実際の出力を以下に示します。
mongos> sh.status() --- シャーディング ステータス --- シャーディング バージョン: { "_id" : 1, "version" : 3, "minCompatibleVersion" : 3, "currentVersion" : 4, "clusterId" : ObjectId(" 52efaaa0a83668acafc3bcb0") } シャード: { "_id" : "sh1", "host" : "sh1/hfdvmprmongodb1:27000,hfdvmprmongodb2:27000" } { "_id" : "sh2", "host" : "sh2/hfdvmprmongodb1:27001" ,hfdvmprmongodb2:27001" } データベース: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "test", "partitioned" : false, "primary" : "sh1" } { "_id" : "価格"、"パーティション": true、"プライマリ": "sh2" } { "_id": "mokshapoc"、"パーティション": true、"プライマリ": "sh1" }
mongos> isBalancerRunning() Tue Feb 4 11:09:39.242 ReferenceError: isBalancerRunning が定義されていません mongos> sh.isBalancerRunning() true
++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ これで、mongorestore が完全に完了し、80 GB データベース (mongodump の実行時には 600 GB データベースでした) のチャンクは表示されませんでした。
チャンクがまったく表示されないという事実に、私は非常に混乱しています。(サイズはもっと小さいと予想されていて、はるかに小さいです)
両方のクラスターのバージョンは同じです: MongoDB シェルのバージョン: 2.4.6
ありがとう、VR
mongodb - レプリカ セットを使用した Mongodump : セカンダリを強制する方法は?
MongoDB レプリカ セットのバックアップに奇妙な問題があります。2 つのサーバー (1 つのプライマリと 1 つのセカンダリ) があり、2 時間ごとにバックアップ タスクを実行しています。
私はこれを使用します:mongodump.exe --db MyBase --out "d:\Backups"
しかし、このバックアップを実行すると、クライアント アプリケーション (c#) は次のようなエラーをスローします。
MongoDB.Driver.MongoConnectionException: 読み取り設定プライマリに一致するレプリカ セットのメンバーに接続できません
mongodump は、クライアント アプリケーションにこのような影響を与えることはないと思いました。というわけで。
セカンダリ サーバーのみでバックアップ操作を強制したいと考えています。どうすれば続行できますか?実行するコマンドは何ですか?
ご協力ありがとうございました。
mongodb - mongodb の私のデータベースはどれですか?
前の質問に関連する次の質問mongodbはubuntuのどこにデータベースを保存しますか?
ここにihtx.0 ihtx.1 ihtx.ns
、同じ名前の 3 つのファイルが表示されます。ここで、mongo シェルで通常見られる mydatabase はどれですか? どちらをダンプする必要がありますか?
それぞれ試してみましたが、次のエラーが発生しました:
mongodb - MongoDB:コレクションを削除する前に、アーカイブプロセスでmongodumpが成功するようにするにはどうすればよいですか?
私たちのアプリケーションは大量のデータをログに記録しているため、週に 1 回、データをアーカイブして本番マシンから移動する必要があります。今は手作業ですが、自動化しています。基本的には「mongodump」を使って出力を圧縮してからクラウドに移動し、本番マシンでログに記録されたデータを削除します。
私の質問は、データベース内のすべてのドキュメントを削除する前に、mongodump が成功したことを確認するにはどうすればよいですか? 以下の基本的な擬似コード:
ドキュメントを調べましたが、何も見つからないようです。mongodump を使用せずに、私がやろうとしていることを達成するためのより良い方法はありますか? ありがとう。それ
mongodb - MongoDB、mongorestore:「フル リストアでのみ oplog を再生できます」
ダンプの復元と MongoDB での oplog の再生に問題があります。
特定の時点まで oplog を再生する必要があるため、次のコマンドを発行します。
しかし、mongorestore は「フル リストアでのみ oplog を再生できます」と返信します。
ソース コードを見ると、ユーザーが --db オプションを指定していない場合にこのエラー メッセージが表示されるようですが、指定しました。
他に何が原因か分かりますか?