MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Erreur lors de la mise à niveau de Mongodb de 3.2 à 3.6

J'ai un problème similaire, j'ai mis à jour sur Ubuntu 16.04 de MongoDB 3.4 à 3.6 mais j'ai raté cette étape importante

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

Ensuite, je dois rétrograder à 3.4 pour le faire, puis passer à nouveau à 3.6. Voici les étapes détaillées :

1. Désinstaller 3.6

Sauvegardez /etc/mongod.conf
Sauvegarde /etc/apt/sources.list.d/mongodb-org-3.6.listed (renommer ou déplacer vers un autre dossier)

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

2. Réinstaller 3.4
Vérifiez le dossier /etc/apt/sources.list.d/ pour voir si ce fichier existe ou non :mongodb-org-3.4.list .S'il n'existe pas, vous pouvez le recréer par cette commande :

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

puis installez par apt-get

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

Dans mon cas la commande systemctl start mongod renvoyer l'erreur Failed to start mongod.service: Unit mongod.service not found J'ai résolu par ces commandes :

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

3. Exécutez une commande très importante
Après la mise à niveau vers la version 3.4, exécutez ceci

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. Mettez à jour à nouveau la version 3.6
Restaurer ce fichier /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

Restaurer /etc/mongod.conf . Maintenant, MongoDB 3.6 a démarré sans aucun problème