2017-03-06 7 views
0

WiredTigerを使用してMongoDB v3.2.10から/ data/dbファイルを取得しました。 MongoDB v2.4.9を、/ data/dbにある同じデータファイルを使用できる方法で、ubuntuで実行するにはどうすればいいですか?mongodbをv3.2.10からv2.4.9にダウングレードし、同じデータファイルを保持

私は/ data/dbを新しいmongodbディレクトリにコピーしましたが、動作しませんでした。

+1

新しいdbバージョンをインストールしていますか?古いバージョンは何でしたか? – Astro

+0

私の古いバージョンは3.2.10で、新しいバージョンは2.4.9です – suoyong

+0

3.2.10から2.4.9にダウングレードしていますか? – Astro

答えて

1

データパスをインポートするには、初期化時にdbpathフラグをmongodbデーモンに渡すことができます。例:

mongod --dbpath /data/db 

以前のMongoDBダンプファイルを復元したい場合は、あなたがmongorestoreオプションを使用することができます。例:

mongorestore --db yourDB /data/db 

これはyourDB

が私の答えは参考になりましたホープと呼ばれる新しいデータベースにあなたの/データ/ DBを復元します。

+0

をご覧ください。あなたがmongorestore --db yourDB/data/dbを提案したときにコマンドを入力している間に、 '*******。wt'と何をするのかわからない。それにもかかわらず、myDBにはコレクションストレージとシステムインデックスがあります。しかし、私はデータの感謝を見つけることができません。 – suoyong

+0

@suoyongあなたが[wongTigerストレージエンジンのデータファイル](https://docs.mongodb.com/manual/core/wiredtiger/)であるファイルが_.wt_で終わっている場合、[mongodump]からのBSONファイルではありません( https://docs.mongodb.com/manual/reference/program/mongodump/)。 –

0

いいえ:ファイルは異なるストレージエンジンのものであるため、互換性がありません。

v.3.2のインストールは、WiredTiger storage engineで実行されていました。あなたのデータファイルは.wtの拡張子を持っています。このstorage engineintroduced in MongoDB v3.0でした。その前に利用可能な唯一のストレージエンジンはMMAPv1でした。

あなたのMongoDB v2.4.9はMMAPv1データファイルでしか実行できません。あなたがWiredTigerのデータファイルを与えると、それらは何をするべきか分かりませんし、失敗します。

ダウングレードする必要がある場合、あなたは別のストレージエンジンからのデータの変換の一環としてmongodump使用する必要があります:WiredTigerデータファイルと

  1. 実行のMongoDB v3.2.10
  2. mongodumpを実行して、データベース全体のBSONダンプを生成します。
  3. のMongoDB v3.2.10
  4. がMMAPv1データ・ストレージ・エンジンにBSONファイルからデータをインポートするためにMongoDB v2.4.9
  5. 実行mongorestoreをインストールしてインストールします。
関連する問題