重要
MongoDB8.2 は最新のマイナー リリースです。 MongoDB8.2 以降では、特定のユースケースに対応したオンプレミス配置(MongoDB Community と Enterprise)でマイナー リリースを利用できます。詳細については、 「 MongoDB のバージョン管理 」を参照してください。
オンプレミスでサポートされている最新のMongoDBバージョンをインストールするには、インストール手順を参照してください。
このドキュメントの内容をよく読み、前提条件を十分に確認してから、 MongoDB 8.2にアップグレードしてください。
次の手順では、スタンドアロンのmongod
をバージョン 8.0 から 8.2 にアップグレードする手順を概説します。
8.2へのアップグレードに関するガイダンスが必要な場合は、 MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。
アップグレードの推奨事項とチェックリスト
アップグレードの際には、次の点を考慮してください。
アップグレード バージョン パス
既存の MongoDB デプロイを8.2にアップグレードするには、 8.0シリーズのリリースを実行している必要があります。
8.0シリーズより前のバージョンの場合、最終的に8.0シリーズになるまで、メジャー リリースを順次アップグレードする必要があります。 たとえば、7.0 シリーズを実行している場合、 にアップグレードする8.0 前に 、 まず にアップグレード8 する必要があります。2 。
ドライバーの互換性を確認
MongoDB をアップグレードする前に、MongoDB 8.2の互換性があるドライバーを使用していることを確認してください。 MongoDB 8.2との互換性を確認するには、特定のドライバーのドライバー のドキュメントを参照してください。
互換性のないドライバーでアップグレードを実行した場合、予期しないまたは未定義の動作が発生する可能性があります。
事前対策
アップグレードを開始する前に、ドキュメント「 MongoDB 8.2での互換性の変更 」で、ご利用のアプリケーションとデプロイが MongoDB 8.2と互換性があることを確認してください。 アップグレードを開始する前に、お使いの環境の互換性の問題を解決してください。
MongoDB をアップグレードする際は、アップグレードを本番環境にデプロイする前に、必ずアプリケーションをステージング環境でテストします。
ダウングレードの検討事項
配置のバイナリ バージョンをダウングレードするには、サポートによる支援が必要です。
詳しくは、「 8.2から8.0へのダウングレード 」を参照してください。
前提条件
機能の互換性バージョン
8.0インスタンスでは、featureCompatibilityVersion
が "8.0"
に設定されている必要があります。featureCompatibilityVersion
を確認するには、次のコマンドを実行します。
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
この操作では、"featureCompatibilityVersion" : { "version" : "8.0" }
を含む結果が返されます。
featureCompatibilityVersion
を設定または更新するには、次のコマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "8.0", confirm: true } )
詳しくは、db.adminCommand()
と setFeatureCompatibilityVersion
を参照してください。
レプリカセットへの変更を検討する
アップグレードする前に、スタンドアロン環境をレプリカセットに変更することを検討してください。レプリカセットは、MongoDB におすすめのデプロイ構成です。
無効な system.buckets コレクションの削除
にアップグレードする際に、時系列コレクションではないdrop
rename
8.2コレクションがある場合は、system.buckets
に応じて、アップグレードする前にそれらのコレクションを または8 する必要があります。0 }パッチ リリース:
- MongoDB 8.0.5 以降
- アップグレードする前に、時系列コレクションではない
system.buckets
コレクションを削除する必要はありません。ただし、アップグレードが完了した後に、これらを削除するか、名前を変更する必要があります。 - MongoDB 8.0.4 以前
- アップグレードする前に、時系列コレクションではない
system.buckets
コレクションを削除するか、名前を変更する必要があります。すべてのsystem.buckets
コレクションは、 8.0.0-8.0.4 のバージョンにアップグレードする前に、有効な時系列オプションを構成する必要があります。
時系列コレクションではない system.buckets
コレクションがあるかどうかを判断するには、フィルタを指定した db.getCollectionInfos()
メソッドを使用します。
db.getCollectionInfos( { $and: [ { name: { $regex: /^system\.buckets/ } }, { 'options.timeseries': { $exists: false } } ] } )
ダウンロード8.2 バイナリ
パッケージマネージャー経由
MongoDB を MongoDB apt
、 yum
、 dnf
、またはzypper
リポジトリからインストールした場合、パッケージ マネージャーを使用して8.2にアップグレードする必要があります。
Linux システムの場合は、 8.2のインストール手順を参照してください。 新しいリリース用にリポジトリを追加して、実際にアップグレードを行う方法を解説しています。
手動
パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。
詳しくは、 8.2インストール手順を参照してください。
アップグレード手順
下位互換性のない8.2機能を有効にします。
この時点で、 8.0と互換性のない8.2機能を使わずに8.2バイナリを実行できます。
これらの 8.2 機能を有効にするには、機能の互換性バージョン(FCV
)を 8.2 に設定します。7.0 以降にアップグレードする場合は、confirm
を true に設定する必要があります。
Tip
下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。
ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。
以下のように、admin
データベースに対して setFeatureCompatibilityVersion
コマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "8.2", confirm: true } )
confirm
の値を true
に設定すると、操作を続行できます。confirm
パラメータを省略するか、confirm
に true
以外の値を設定すると、コマンドは失敗し、機能の互換性バージョン の変更に関する警告が返されます。警告には、クラスターの FCV をアップグレードまたはダウングレードした後は、バイナリ バージョンをダウングレードするには、サポートによる支援が必要であることが記載されています。
このコマンドは、内部システム コレクションへの書込みを実行する必要があります。何らかの理由でコマンドが正常に完了しない場合は、操作がべき等であるため、安全にコマンドを再試行できます。
トラブルシューティング
mongod
が終了した場合、 MongoDB はコードを返します。アップグレードに関する問題をトラブルシューティングするには、「 自己管理型配置のエラー コードまたは終了コードとステータス 」を参照してください。
追加のアップグレード手順
レプリカセットをアップグレードするには、「レプリカセットを8.2にアップグレードする 」を参照してください。
シャーディングされたクラスターをアップグレードするには、「シャーディングされたクラスターを8.2にアップグレードする 」を参照してください。