MongoDBをアップグレードまたはダウングレードする方法

MongoDBをアップグレードまたはダウングレードする方法

Debian 8.5 サーバーで動作する MongoDB を使用するかなり古い Web アプリケーション設定があります。残念ながら、最近MongoDBがサーバーからアップグレードされ、アプリケーションがクラッシュしました。 MongoDBがバージョン2.4.10にアップグレードされ、起動中にこのエラーが発生しました。

    need to upgrade database admin with pdfile version 4.22, new version: 4.5

アップグレード管理データベースを実行しようとすると、次のメッセージが表示されます。

    error: exception cloning object in admin.system.users system.users entry must have either a 'pwd' or a 'userSource' field, but not both

デフォルトではデータベースをアップグレードできません。データベースを回復しようとしましたが、動作しません。データベースの重複したユーザーによって問題が発生したようです。考えられる解決策の1つは重複エントリを削除することですが、mongodが実行されないので、どうすればよいかわかりません。

aptを介してmongodbをダウングレードしようとしましたが、aptで認識されているバージョンが見つかりませんでした。例えば

 sudo apt-get install mongodb=2.2.7

生産する

    E: version '2.2.7' for 'mongodb' was not found

インターネット検索後、mongodb 2.6には同じ問題がないようです。残念ながら、現在2.4.10より新しいものをインストールすることはできません。 apt-get updateを実行しましたが、apt-cacheポリシーによれば、候補バージョンがインストールされているバージョンと同じであると表示されます。

デフォルトでは、このサイトを再起動して実行する方法は3つあります。

  • 最近インストールされたMongoDBのバージョンと連携するように管理データベースを正常にアップグレードしました。
  • MongoDBを2.2.7にダウングレード
  • MongoDBを2.6.xにアップグレード

どうすればこのようなことが起こるのか知っている人がいますか?

ベストアンサー1

2.2 または 2.4 よりも新しいバージョンを使用することをお勧めします。 MongoDBの用語は古いバージョンで、ずっと前に更新の受信が中断されました。インストールする最新バージョンが見つからないのは、公式のDebianパッケージがオペレーティングシステムのバージョン全体のメジャーバージョンにロックされているためです。残念ながら、Debian OS のバージョンは主要な MongoDB リリースよりはるかに劣っており、Debian のバージョンがリリースされても常に最新バージョンを使用するわけではありません。

最新バージョンのMongoDBを入手するには、公式のMongoDBリポジトリを使用する必要があります。バージョン 2.6この時点ではかなり古いです。君はまだ出来る固定バージョンただし、これによりアップグレードのターゲットとアップグレード方法を制御できます。これは良いオプションです。次のサイトから以前のバージョン2.2を入手することもできます。同様に

管理データベースのエラーを修正するには、次の3つのオプションがあります。

  1. 2.2.X(上記参照)にダウングレードし、重複したエントリを削除してから再度アップグレードしてください。
  2. 2.6以降にアップグレードして問題が解決するかどうかを確認してください。
  3. 認証を無効にして(一時的に)MongoDBを起動し、管理データベースから重複エントリを削除できることを確認してから、正常に再起動します。

おすすめ記事