私の環境でmongodbを3.2から3.6にアップグレードする必要がありました。プロセスでは、推奨されるように3.2から3.4に最初に移行しました。 3.4への移行に成功した後、3.6への移行を開始しました。mongodを起動できません。ログファイルを確認すると、のようなエラーが見つかりました。詳細については http://dochub.mongodb.org/core/3.6-upgrade-fcv を参照してください。
MY Mongod.conf
systemLog:宛先:ファイルlogAppend:trueパス:/var/log/mongodb/mongod.log
ストレージ:dbPath:/ var/lib/mongoジャーナル:有効:true
processManagement:fork:true#バックグラウンドでforkおよび実行pidFilePath:/var/run/mongodb/mongod.pid#pidfileの場所
ネット:ポート:27017 bindIp:127.0.0.1
同様の問題があります。buntu 16.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.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
。これで、MongoDB 3.6は問題なく起動しました
すべてのデータを失うことを気にしない場合、/data/db
フォルダーのコンテンツを削除できます。
その後、mongod
を再起動します