sql >> データベース >  >> NoSQL >> MongoDB

Mongodbを3.2から3.6にアップグレード中にエラーが発生しました

    同様の問題があります。Ubuntu16.04にアップグレードしました MongoDB 3.4から3.6に移行しましたが、この重要なステップを逃しました

    db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    

    次に、3.4にダウングレードしてから、3.6に再度アップグレードする必要があります。詳細な手順は次のとおりです。

    1。 3.6をアンインストールします

    バックアップ/etc/mongod.conf
    バックアップ/etc/apt/sources.list.d/mongodb-org-3.6.listed (名前を変更するか、別のフォルダに移動します)

    sudo apt-get update
    sudo apt-get remove mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
    

    2。 3.4を再インストールします
    フォルダを確認してください/etc/apt/sources.list.d/ このファイルが存在するかどうかを確認するには:mongodb-org-3.4.list 。存在しない場合は、次のコマンドで再作成できます:

    echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
    

    次に、apt-getでインストールします

    sudo apt-get update
    sudo apt-get install -y mongodb-org
    mongod --version
    sudo systemctl start mongod
    

    私の場合、コマンドsystemctl start mongod エラーを返すFailed to start mongod.service: Unit mongod.service not found 私はこれらのコマンドで解決しました:

    sudo systemctl enable mongod
    sudo service mongod restart
    sudo service mongod status
    

    3。非常に重要なコマンドを実行する
    3.4にダウングレードした後、これを実行します

    mongo
    MongoDB shell version v3.4.10
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.10
    > db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
    { "featureCompatibilityVersion" : "3.4", "ok" : 1 }
    > exit
    

    4。 3.6をもう一度アップグレード
    このファイルを復元する/etc/apt/sources.list.d/mongodb-org-3.6.listed

    sudo apt-get update
    sudo apt-get install mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
    

    /etc/mongod.confを復元します 。これで、MongoDB3.6は問題なく起動しました



    1. UbuntuからmongoDBをアンインストールします

    2. MongoDB-クエリの結果を並べ替える

    3. メモリ不足の例外をRedisしますが、まだ十分なメモリがあります

    4. アプリケーションの透過的なデータベースフェイルオーバー