MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore durante l'aggiornamento di Mongodb da 3.2 a 3.6

Ho un problema simile, ho aggiornato su Ubuntu 16.04 da MongoDB 3.4 a 3.6 ma mi sono perso questo passaggio importante

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

Quindi devo eseguire il downgrade a 3.4 per farlo e quindi aggiornare di nuovo a 3.6. Ecco i passaggi dettagliati:

1. Disinstalla 3.6

Eseguire il backup di /etc/mongod.conf
Backup /etc/apt/sources.list.d/mongodb-org-3.6.listed (rinominalo o spostalo in un'altra cartella)

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

2. Reinstalla 3.4
Controlla la cartella /etc/apt/sources.list.d/ per vedere se questo file esiste o meno:mongodb-org-3.4.list .Se non esiste, puoi ricreare con questo comando:

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

quindi installa con apt-get

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

Nel mio caso il comando systemctl start mongod errore di ritorno Failed to start mongod.service: Unit mongod.service not found Ho risolto con questi comandi:

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

3. Esegui un comando molto importante
Dopo il downgrade a 3.4, esegui questo

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. Aggiorna di nuovo 3.6
Ripristina questo file /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

Ripristina /etc/mongod.conf . Ora, MongoDB 3.6 è stato avviato senza alcun problema