Comment désinstaller MongoDB et réinstaller la dernière version?

49

Je dois désinstaller complètement mongodb de mon système (Ubuntu 11.10) et installer la version 2.0.5.

Actuellement, quand je cours:

mongo db

Je reçois l'erreur suivante:

Version du shell MongoDB: 2.0.1
connexion à: db
mer 6 juin 13:05:03 Erreur: impossible de se connecter au serveur shell 127.0.0.1 / mongo.js: 84 exception: échec de la connexion

Jyothi
la source

Réponses:

83

Il existe deux ensembles de packages pour MongoDB ; les paquets standards Ubuntu et un ensemble publié par 10gen eux-mêmes. Les packages standard sont obsolètes, en particulier pour les anciennes versions d'Ubuntu. Il est donc probablement judicieux de vous configurer pour installer à partir des référentiels 10gen.

Le message d'erreur que vous citez suggère que vous avez peut-être déjà essayé, car la version 2.0.1 n'est pas un paquet standard d'Ubuntu. Je suggère que tout d’abord, vous désinstalliez complètement Mongo et nettoyiez votre système. Si vous souhaitez conserver des données existantes, vous pouvez en faire une sauvegarde. Par défaut, il est stocké dans /var/lib/mongodb. Donc, si vous voulez faire une sauvegarde, prenez une copie des fichiers à partir de là et conservez-les dans un endroit sûr.

Désinstallation des packages MongoDB existants

Puisque je ne suis pas à 100% ce que vous avez installé, je vous suggère de vous assurer que tout est désinstallé:

sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get autoremove

Certaines de ces commandes peuvent échouer, en fonction des packages que vous avez réellement installés, mais ce n'est pas grave.

Cela devrait également supprimer votre configuration /etc/mongodb.conf. Si vous souhaitez nettoyer complètement, vous pouvez également supprimer le répertoire de données /var/lib/mongodb, à condition que vous le sauvegardiez ou que vous ne le souhaitiez plus.

Si vous avez installé à partir des sources ou en utilisant les distributions binaires 10gen, vous devrez alors désinstaller et nettoyer manuellement à partir de n'importe quel endroit où vous placerez les fichiers binaires, les fichiers de configuration et les fichiers de données.

Installation des packages MongoDB 10gen

Suivez les instructions 10gen pour ajouter leur référentiel:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Modifiez /etc/apt/sources.list, supprimez toutes les lignes que vous avez déjà ajoutées pour Mongo et ajoutez la ligne suivante (depuis la version 11.10 utilise upstart) à la fin:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

Notez que si vous ajoutez ce référentiel à l'aide du Centre de logiciels, il ajoutera automatiquement une entrée deb-src, ce qui cassera apt-get. Vous devrez donc éditer votre liste de sources à la main pour n’ajouter que la ligne ci-dessus.

Ensuite, pour installer, lancez:

sudo apt-get update 
sudo apt-get install mongodb-10gen

Vérification de votre installation

L'installation des packages devrait automatiquement démarrer le serveur MongoDB. Vous devriez donc pouvoir exécuter le client à partir de la ligne de commande:

mongo

qui devrait se connecter avec succès à la base de données de test. Vous pouvez quitter en tapant exit.

Si cela échoue, veuillez mettre à jour votre question avec des détails supplémentaires, y compris le résultat de la tentative de connexion et de la connexion de votre /var/log/mongodb/mongodb.logfichier.

David Edwards
la source
maisapride1 @ maisapride1: / $ sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev Listes de paquet en cours de lecture ... Terminé Arbre de dépendance En cours de lecture des informations d'état ... Fait Le paquet mongodb n'est pas installé, il n'est donc pas supprimé. Package mongodb- clients n'est pas installé, donc pas supprimé Le package mongodb-dev n'est pas installé, donc pas supprimé Le package mongodb-server n'est pas installé, donc pas supprimé 0 mis à niveau, 0 récemment installé, 0 à supprimer et 406 non mis à niveau. ----- en essayant de supprimer, quand je donne encore une fois mongo il montrant la vesion: Version shell MongoDB: 2.0.1
jyothi
C'est bon; comme je l'ai dit, certaines de ces commandes peuvent échouer, en fonction des packages que vous avez installés. Ces erreurs particulières montrent que les packages standard Ubuntu MongoDB ne sont pas installés.
David Edwards
Avez-vous exécuté la deuxième commande pour supprimer les packages 10gen? Si cela ne supprime rien aussi, et que vous pouvez toujours exécuter le client Mongo, vous devez avoir effectué une installation manuelle et vous devrez le supprimer à la main.
David Edwards
puis-je savoir comment installer ou mettre à jour mongo db à 2.0.5 à partir de 2.0.1
jyothi
L'installation des paquets 10gen comme décrit dans ma réponse vous donnera 2.0.6. Les versions précédentes peuvent être téléchargées et installées manuellement sur le site Web MongoDB, mais je vous suggère fortement de vous en tenir aux versions fournies.
David Edwards
27

Pour supprimer complètement MongoDB d'un système, vous devez supprimer les applications MongoDB elles-mêmes, les fichiers de configuration et tous les répertoires contenant des données et des journaux. La section suivante vous guide à travers les étapes nécessaires.

  1. Arrêtez MongoDB

    Arrêtez le processus mongod en lançant la commande suivante:

    sudo service mongod stop
    
  2. Supprimer les paquets

    Supprimez tous les packages MongoDB que vous avez précédemment installés.

    sudo apt-get purge mongodb-org*
    
  3. Supprimer les répertoires de données.

    Supprimez les bases de données MongoDB et les fichiers journaux.

    sudo rm -r /var/log/mongodb /var/lib/mongodb
    
Bhavesh
la source
4

Suis les étapes:

  1. Supprimer le fichier de verrouillage

    sudo rm /var/lib/mongodb/mongod.lock
    
  2. Réparer mongodb

    mongod --repair
    
  3. Commencez mongodb

    sudo service mongodb start
    
  4. Démarrer la console mongo

    mongo
    
utilisateur2123184
la source
@stumblebee: Faites attention aux suggestions de montage comme celle-ci! Le nom du service est en effet mongodbidentique à celui de la version d'origine et vous pouvez le vérifier via la liste des fichiers du paquet .
David Foerster