問題タブ [mongorestore]
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 - MongoDB mongorestore の失敗: locale::facet::_S_create_c_locale 名が無効です
コンピューター A (ubuntu 12.04 サーバー) で mongodump を使用してダンプを作成しました。それをコンピューター B (ubuntu 12.04 サーバー) に移動し、次のように入力しました。
mongorestore -db db_name --drop db_dump_path
失敗し、次のように報告されました。
接続先: 127.0.0.1
終了 'std::runtime_error' のインスタンスをスローした後に呼び出されました
what(): locale::facet::_S_create_c_locale name not valid
中止
以前にこの操作を成功させたことがありますが、この奇妙な動作は一度も発生していません。これを修正するにはどうすればよいですか?
mongodb - Mongorestore、Meteor プロダクション サーバーからローカルへ
mongodump と mongorestore を使用して、Meteor 運用サーバーをバックアップし、必要に応じてバックアップを復元する方法に関する適切な手順がたくさん見つかりました。
私が見つけていないのは、バックアップダンプをローカルの流星アプリに復元する方法の説明です。app フォルダーに mongodump の出力があります。mongorestore を使用できるかどうか、または他にやるべきことがあるかどうかはわかりません。
mongodb - mongorestore: 実行中にコマンドが見つかりません
同じ状況: M101 MongoDB オンライン コースを開始しました。restoremongo 呼び出しは mongorestore: command not found を返します。これはサーバーに接続する必要があります(接続でき、マシンで実行されています)。このビデオ (下のリンク) に従って、ビデオの 1:45 分の時点まで進んでいます。https://education.10gen.com/courses/10gen/M101J/2013_May/courseware/Week_1_-_Introduction/Homework_1.1/
これが私がいるところです。下記を参照してください。この下にサーバー情報をコピーして貼り付けました。解決策はありますか?私は最も感謝しています。ジェリー
tar xvf hw1-1.957cdceb1c1e.tar x ダンプ/ x ダンプ/m101/ x ダンプ/m101/funnynumbers.bson x ダンプ/m101/funnynumbers.metadata.json x ダンプ/m101/hw1.bson x ダンプ/m101/hw1.metadata .json Geralds-MacBook-Pro: ダウンロード geraldnolan$ mongorestore -bash: mongorestore: コマンドが見つかりません
PATH=$PATH:/Users/bluegenep/Downloads/mongodb-osx-x86_64-2.4.8/bin をエクスポートするように環境変数を設定しています。
そしてmongodbがある私のパスは「/Users/bluegenep/Downloads/mongodb-osx-x86_64-2.4.8/bin」です
しかし、私はまだ同じエラーが発生しています!!
-bash: mongorestore: コマンドが見つかりません
どんな助けでも大歓迎です!ありがとう!!
mongodb - 異なるマシンで異なる動作をするmongorestore?
私は次のことを行います:
私のローカルマシンで、それは正常に動作します。Amazon の私の開発マシンでは、同じコマンドと同じデータベース ダンプと同じバージョンの mongodb (2.0.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 - MongoDB、mongorestore:「フル リストアでのみ oplog を再生できます」
ダンプの復元と MongoDB での oplog の再生に問題があります。
特定の時点まで oplog を再生する必要があるため、次のコマンドを発行します。
しかし、mongorestore は「フル リストアでのみ oplog を再生できます」と返信します。
ソース コードを見ると、ユーザーが --db オプションを指定していない場合にこのエラー メッセージが表示されるようですが、指定しました。
他に何が原因か分かりますか?
mongodb - コマンド ラインを使用して、MongoDB データベース内のすべてのコレクションからすべてのインデックスを削除する
mongorestore を使用してデータベースを復元しましたが、アプリケーションを実行しようとすると、インデックスが既に存在するというエラーが表示されます。
関数 db.collection.dropIndex() は知っていますが、これを自動化し、データベース内のすべてのコレクションからすべてのインデックスを一度に削除する方法はありますか?
私はもう試した
しかし、それではうまくいきません。何か案は?
mongodb - MongoDB 2.2: ダンプ/復元後にレプリケーションがコレクションに追いつかないのはなぜですか?
Ubuntu 10.04 で MongoDB 2.2 を実行する 3 サーバーのレプリカセットがあり、最近、特定のデータベースが存在する各サーバーのハード ドライブをアップグレードする必要がありました。このデータベースには、Web サービス要求のログ情報が含まれており、現在のタイムスタンプを使用して 1 時間ごとのバケット内のコレクションに書き込み、名前を特定します (例: log_yyyymmddhh )。
私はこのプロセスを実行しました:
- mongodump --db log_dbを使用して、プライマリ サーバー上のデータベースをバックアップします。
- セカンダリ サーバーをオフラインにし、ディスクを交換する
- セカンダリ サーバーをスタンドアロン モードで起動します (つまり、サービスを開始する前に、/etc/mongodb.conf の replSet エントリをコメント アウトします)。
- mongorestore --drop --db log_dbを使用してセカンダリ サーバーにデータベースを復元します。
- セカンダリ サーバーをレプリカセットに追加してオンラインにし、レプリケーションがオフラインの間に更新/作成された 1 時間ごとのバケットに追いつくようにします。
バックアップ時に現在のバケットであったコレクションがレプリケーションによって最新のものにならなかったことを除いて、すべてが期待どおりに進んでいるように見えました。最新の状態にするには、そのコレクションを手動でコピーする必要がありました。バックアップ後に作成されたコレクションは問題なく同期されていることに注意してください。
MongoDB がその 1 つのコレクションの同期を取り戻せなかった原因は、このプロセスで何が欠けていたのでしょうか? 私は、oplogに関して何かがうまくいかなかったと思いますか?
編集1:
プライマリの oplog は、最初のタイムスタンプが数日さかのぼったことを示していたため、数時間 (セカンダリがオフラインだった時間) トランザクションを維持するための十分なスペースがあったはずです。
編集2:
MongoDB のインストールでは、/dev/sda1 と /dev/sdb1 の 2 つのディスク パーティションを使用します。プライマリ MongoDB ディレクトリ /var/lib/mongodb/ は /dev/sda1 にあり、いくつかのデータベースを保持しますが、ログ データベースは /dev/sdb1 に単独で存在します。/dev/sdb1 のディレクトリを指すシンボリックリンク/var/lib/mongodb/log_dbがあります。ログ データベースがいっぱいになったため、/dev/sdb1 のディスクをアップグレードする必要がありました。
mongodb - 移行後にMongodbデータファイルが小さくなる
私の最初のサーバーでは、次のようになります。
このデータベースを mongodump/mongorestore で移行した後、2 番目のサーバーで次のようになります。
数時間待った後、mongo はインデックス作成を終了しました。
データベースをテストしましたが、破損したデータや欠落したデータはありません。
移行前と移行後にサイズに大きな違いがあるのはなぜですか?