このドキュメントの内容をよく読み、前提条件を十分に確認してから、 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 をアップグレードする際は、アップグレードを本番環境にデプロイする前に、必ずアプリケーションをステージング環境でテストします。
ダウングレードの検討事項
MongoDB 8.3 以降では、 MongoDBのバージョンをその前のマイナーまたはメジャー バージョンにダウングレードできます。
MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。
例、8.2 シリーズの配置を 8.0 シリーズにダウングレードできます。ただし、8.0 シリーズの配置から 7.0 シリーズの配置へのさらなるダウングレードはサポートされていません。
詳しくは、「 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 rename8.3コレクションがある場合は、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 に設定します。また、confirm を true に設定する必要があります。
Tip
下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。
ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。
以下のように、admin データベースに対して setFeatureCompatibilityVersion コマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "8.2", confirm: true } )
confirm の値を true に設定すると、操作を続行できます。confirm パラメータを省略するか、confirm に true 以外の値を設定すると、コマンドは失敗し、機能の互換性バージョン の変更に関する警告が返されます。警告には、クラスターの FCV をアップグレードまたはダウングレードした後は、バイナリ バージョンをダウングレードするには、サポートによる支援が必要であることが記載されています。
このコマンドは、内部システム コレクションへの書込みを実行する必要があります。何らかの理由でコマンドが正常に完了しない場合は、操作がべき等であるため、安全にコマンドを再試行できます。
トラブルシューティング
mongod が終了した場合、 MongoDB はエラー コードを返します。アップグレードに関する問題をトラブルシューティングするには、エラー コード または 自己管理型配置の終了コードとステータス を参照してください。
アップグレード後にスタートアップの問題が発生した場合は、 MongoDBサポート にお問い合わせください。
追加のアップグレード手順
レプリカセットをアップグレードするには、「レプリカセットを8.2にアップグレードする 」を参照してください。
シャーディングされたクラスターをアップグレードするには、「シャーディングされたクラスターを8.2にアップグレードする 」を参照してください。