Jak mogę odinstalować MongoDB i ponownie zainstalować najnowszą wersję?

49

Muszę całkowicie odinstalować mongodb z mojego systemu (Ubuntu 11.10) i zainstalować wersję 2.0.5.

Obecnie, kiedy uruchamiam:

mongo db

Otrzymuję następujący błąd:

Wersja powłoki MongoDB: 2.0.1
połączenie z: db
Środa 6 czerwca 13:05:03 Błąd: nie można połączyć się z serwerem 127.0.0.1 shell / mongo.js: 84 wyjątek: połączenie nie powiodło się

jyothi
źródło

Odpowiedzi:

83

Istnieją dwa zestawy pakietów dla MongoDB ; standardowe pakiety Ubuntu i zestaw opublikowany przez same 10gen. Standardowe pakiety są nieaktualne, szczególnie w przypadku starszych wersji Ubuntu, więc prawdopodobnie dobrym pomysłem jest skonfigurowanie się do instalacji z repozytoriów 10gen.

Podany przez ciebie komunikat o błędzie sugeruje, że mogłeś już tego spróbować, ponieważ wersja 2.0.1 nie jest standardowym pakietem Ubuntu. Sugeruję, aby przede wszystkim całkowicie odinstalować Mongo i wyczyścić system. Jeśli masz istniejące dane, które chcesz zachować, możesz wykonać ich kopię zapasową. Domyślnie jest przechowywany w /var/lib/mongodb. Więc jeśli chcesz zrobić kopię zapasową, zabierz stamtąd pliki i przechowuj je w bezpiecznym miejscu.

Odinstalowywanie istniejących pakietów MongoDB

Ponieważ nie jestem w 100% tym, co zainstalowałeś, sugeruję, aby upewnić się, że wszystko zostało odinstalowane:

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

Niektóre z tych poleceń mogą się nie powieść, w zależności od tego, jakie pakiety faktycznie zainstalowałeś, ale to jest w porządku.

To powinno również usunąć twoją konfigurację /etc/mongodb.conf. Jeśli chcesz całkowicie wyczyścić, możesz również usunąć katalog danych /var/lib/mongodb, o ile utworzyłeś kopię zapasową lub już go nie chcesz.

Jeśli zainstalowałeś, budując ze źródła lub korzystając z binarnych dystrybucji 10gen, musisz ręcznie odinstalować i wyczyścić z każdego miejsca, w którym umieścisz pliki binarne, pliki konfiguracji i pliki danych.

Instalowanie pakietów 10gen MongoDB

Postępuj zgodnie z instrukcjami 10gen, aby dodać ich repozytorium:

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

Edytuj /etc/apt/sources.list, usuń wszystkie linie, które już dodałeś do Mongo, i dodaj następującą pojedynczą linię (ponieważ 11.10 używa upstart) na końcu:

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

Zauważ, że jeśli dodasz to repozytorium za pomocą Centrum oprogramowania, automatycznie doda ono wpis deb-src, co spowoduje uszkodzenie apt-get. Musisz więc ręcznie edytować listę źródeł, aby dodać tylko powyższą linię.

Następnie, aby zainstalować, uruchom:

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

Sprawdzanie instalacji

Instalowanie pakietów powinno automatycznie uruchamiać serwer MongoDB. Powinieneś być w stanie uruchomić klienta z wiersza poleceń:

mongo

które powinny pomyślnie połączyć się z testową bazą danych. Możesz wyjść, pisząc exit.

Jeśli to się nie powiedzie, zaktualizuj swoje pytanie o dalsze szczegóły, w tym wynik próby nawiązania połączenia i dołączenia /var/log/mongodb/mongodb.logpliku.

David Edwards
źródło
maisapride1 @ maisapride1: / $ sudo apt-get purge mongodb mongodb-klient mongodb-server mongodb-dev Czytanie list pakietów ... Gotowe Drzewo zależności budynku Odczytywanie informacji o stanie ... Gotowe Pakiet mongodb nie jest zainstalowany, więc nie usunięty Pakiet mongodb- klienci nie są zainstalowani, więc nie usunięto Pakiet mongodb-dev nie został zainstalowany, więc nie usunięto Pakiet mongodb-server nie został zainstalowany, więc nie usunięto 0 uaktualnionych, 0 nowo zainstalowanych, 0 do usunięcia i 406 nie zaktualizowanych. ----- przy próbie usunięcia, gdy ponownie daję mongo, pokazując pęcherzyk: wersja powłoki MongoDB: 2.0.1
jyothi
W porządku; jak powiedziałem, niektóre z tych poleceń mogą się nie powieść, w zależności od zainstalowanych pakietów. Te konkretne błędy pokazują, że nie masz zainstalowanych standardowych pakietów Ubuntu MongoDB.
David Edwards,
Czy uruchomiłeś drugie polecenie, aby usunąć pakiety 10gen? Jeśli to również niczego nie usuwa, a nadal możesz uruchomić klienta mongo, musisz wykonać ręczną instalację i będziesz musiał ręcznie usunąć.
David Edwards
czy mogę wiedzieć, jak zainstalować lub zaktualizować mongo db do 2.0.5 z 2.0.1
jyothi
Zainstalowanie pakietów 10gen zgodnie z opisem w mojej odpowiedzi da ci 2.0.6. Poprzednie wersje są dostępne do pobrania i ręcznej instalacji ze strony MongoDB, ale zdecydowanie zalecamy trzymanie się wersji spakowanych.
David Edwards,
27

Aby całkowicie usunąć MongoDB z systemu, musisz usunąć same aplikacje MongoDB, pliki konfiguracyjne i wszystkie katalogi zawierające dane i dzienniki. Poniższa sekcja przeprowadzi Cię przez niezbędne kroki.

  1. Zatrzymaj MongoDB

    Zatrzymaj proces mongod, wydając następujące polecenie:

    sudo service mongod stop
    
  2. Usuń pakiety

    Usuń wszystkie pakiety MongoDB, które wcześniej zainstalowałeś.

    sudo apt-get purge mongodb-org*
    
  3. Usuń katalogi danych.

    Usuń bazy danych MongoDB i pliki dziennika.

    sudo rm -r /var/log/mongodb /var/lib/mongodb
    
Bhavesz
źródło
4

Wykonaj kroki:

  1. Usuń plik blokady

    sudo rm /var/lib/mongodb/mongod.lock
    
  2. Napraw mongodb

    mongod --repair
    
  3. Uruchom mongodb

    sudo service mongodb start
    
  4. Uruchom konsolę mongo

    mongo
    
użytkownik2123184
źródło
@stumblebee: Uważaj na sugestie edycji takie jak ta! Nazwa usługi jest rzeczywiście taka mongodbjak w pierwotnej wersji i można to sprawdzić za pomocą listy plików pakietów .
David Foerster