3

データベースとしてmongodb 3.0を使用して(keystonejs)webappを実行しています。webapp のクローンを作成し、3.2 mongodb リリースを使用して 2 番目のインスタンスを実行しました (生成されたがまだ空のデータベース上で)。ここで行う必要があるのは、最初のデータベースから 2 番目のデータベースにデータを取得することです。mongodb 3.2 は WiredTiger である別のデフォルト ストレージ エンジンを使用するため、クローンはそのエンジンを使用します。ただし、元のアプリは MMAPv1 を使用します。MMAPv1で作成したデータをWiredTigerに移行する簡単な方法はありますか?

4

2 に答える 2

3

レプリカ セットを作成し、それに新しいマシンを追加できます。そうすることで、新しいサーバーで最新のデータを取得できます。レプリケーションが終了したら、新しいマシンをプライマリに切り替え、必要に応じて古いサーバーをシャットダウンします。このようにして、データを失ったり、既存のアプリケーションに悪影響を与えたりすることなく、既存のデータを wireTiger に簡単に複製できます。

于 2016-02-07T15:28:45.433 に答える
3

を使用して古いサーバーにデータベースのバックアップを作成し、 を使用mongodumpして新しいサーバーに復元しますmongorestore。それはドキュメントで非常によくカバーされています。

https://docs.mongodb.org/manual/tutorial/change-standalone-wiredtiger/

于 2016-02-07T11:12:48.820 に答える