Jestem nowy w mongodb .. kiedy próbowałem uruchomić lokalny serwer mongodb z mongod
poleceniem, którego nie udało się uruchomić i wyrzuciłem ten błąd.
/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten] addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit:
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51 closeAllFiles() finished
Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now
Próbowałem usunąć mongod.lock
plik ... Uruchomiłem mongod --repair
... Zmieniłem również uprawnienia do mongod.lock
pliku.
ale wydaje się, że nic nie działa .. ciągle pokazuje ten sam błąd .. co mam zrobić.?
Zainstalowałem też git w wersji 1.7.4.1, ale pokazuje ona błędną wersję nogitversion.
Odpowiedzi:
Próbować:
Aby zatrzymać bieżącą aktywną usługę mongodb, umożliwiając następnie uruchomienie nowej
źródło
sudo service mongodb stop
pracował dla mnie na Ubuntu 14.10.brew services
. (via unix.stackexchange.com/questions/155715/… )Nie zabijaj procesu przy użyciu sygnału -9, ponieważ spowodowałoby to uszkodzenie: http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal
Użyj
sudo killall -15 mongod
zamiast tegoźródło
killall mongod
robi to samo.-15
mówikillall
wysłać sygnał SIGTERM, który robi to domyślnie.W takim przypadku wpisz następujące polecenie
Powinieneś zobaczyć coś, co wygląda tak
Teraz wprowadź polecenie kill dla instancji mongod (w tym przypadku 31936):
źródło
mówi samodzielnie.
Inna instancja mongod już działa i przydziela domyślny port MongoDB, czyli 27017.
Zabij drugi proces lub użyj innego portu.
źródło
Dowiedz się z netstat, który proces uruchamia port mongodb (27017)
Komenda:
Wynik będzie:
W moim przypadku "6432" to pid, w twoim przypadku może być inaczej. Następnie zakończ ten proces za pomocą następującego polecenia:
Otóż to!
źródło
Posługiwać się:
Spowoduje to zatrzymanie serwera.
Następnie uruchom ponownie
mongod
o:powinno działać.
źródło
Masz już uruchomiony proces. Możesz go zabić poleceniem:
źródło
Chcesz zrobić
killall -15 mongod
, ponieważ jest on nadal działa:Address already in use for socket: 0.0.0.0:27017
.Wtedy możesz
mongod
znowu biec .źródło
killall mongod
?No matching processes belonging to you were found
Wypróbuj inny port, jeśli nie możesz znaleźć żadnych aktualnie uruchomionych procesów lub ich zabicie nie działa. Na przykład spróbuj 27018, ponieważ wartość domyślna to 27017.
Dowiedziałem się tego z poleceniem
mongod --help
źródło
Proponuję zamiast tego użyć:
$sudo service mongodb stop
To może zadziałać.
źródło
Spróbuj albo killall -15 mongod / killall mongod Nawet po tym, jeśli to nie zadziała, usuń folder przechowywania db, wpisując następujące polecenia sudo rm -rf / data / db sudo mkdir / data / db sudo chmod 777 / data / db
źródło
OS X. Monitor aktywności , poszukaj mongod , przejdź przez niego. następnie uruchom ponownie mongod. problem rozwiązany.
źródło
Otwórz terminal i wpisz:
Następnie wprowadź:
źródło
Miałem ten sam problem, gdy próbowałem otworzyć nową instancję mongod i mówiła, że już działa.
Sprawdziłem dokumenty i powiedziałem, żeby pisać
źródło
Nie można uruchomić bazy danych MongoDB głównie z powodu nieczystego wyłączenia. Aby temu zaradzić, usuń plik mongod.lock. Ten plik znajduje się w folderze danych.
Dowiedz się, gdzie znajduje się folder danych, przeglądając plik mongodb.conf lub mongod.conf. (Plik konfiguracyjny w / etc w systemach Linux).
Na przykład, używając powyższej konfiguracji, plik znajduje się pod adresem /var/lib/mongodb/mongod.lock. Po prostu usuń go i uruchom ponownie mongodb.
źródło
Zmierzyłem się z tym samym problemem. Chociaż
mongodb
usługa nie działa, w dzienniku pojawił sięaddress already in use
komunikat.nic nie zwraca
Po dalszej analizie stwierdzono, że przyczyną problemu był plik blokady. Usługa działa poprawnie, po usunięciu pliku blokady i ponownym uruchomieniu go.
źródło
Sprawdź dzienniki w /var/log/mongodb/mongod.log i spróbuj wydedukować błąd. W moim przypadku tak było
Nie udało się odłączyć pliku gniazda /tmp/mongodb-27017.sock errno: 1 Operacja niedozwolona
Usunięto /tmp/mongodb-27017.sock i zadziałało.
źródło
próbować
/usr/lib/mongodb/mongod.exe --dbpath c: data \ db
--dbpath (powinna następować ścieżka do Twojej bazy danych)
źródło
Możliwe, że serwer już działa. Sprawdź to za pomocą polecenia, czy mongo działa, czy nie.
źródło
Aby rozwiązać problem w systemie Windows , poniższe kroki działają dla mnie:
Na przykład zainstalowana jest mongoDB w wersji 3.6, a ścieżka instalacyjna MongoDB to „D: \ Program Files \ MongoDB”.
Utwórz folder D: \ mongodb \ logs, a następnie utwórz plik mongodb.log w tym folderze.
Uruchom cmd.exe jako administrator ,
Usuń te dwa pliki
mongod.lock
istorage.bson
przejdź do folderu „D: \ mongodb \ data”.Następnie wpisz
net start MongoDB
cmd z uprawnieniami administratora, problem zostanie rozwiązany.źródło
Pokazuje błąd nasłuchiwanie (): bind () nie powiodło się errno: 98 Adres już używany dla gniazda: 0.0.0.0:27017 tj. Adres 27017 jest już używany przez inną usługę. sprawdź to poleceniem "netstat -apt | grep" 27017 ""
źródło
(Jeśli używasz Linuksa,) if
lub
nie rozwiązał problemu, wyloguj się i zaloguj ponownie . To rozwiązało mój problem.
Chyba możesz też zabić proces ręcznie z poziomu terminala.
źródło
Wygląda na to, że ten sam błąd jest wyświetlany w dziennikach, gdy brakuje ustawienia środowiska LC_ALL. To mylące, ale możesz uruchomić
mongo
klienta, aby zobaczyć, że jest to problem.źródło
jeśli uruchamiasz mongo po raz pierwszy, możesz najpierw ustawić ścieżkę
źródło
Zabijanie nie rozwiązało mojego problemu. Mój Mac się zawiesił i po ponownym uruchomieniu niektóre pliki blokujące (mongod.lock, WiredTiger.lock) były obecne w mongo dbPath. Przeniosłem te pliki do innego folderu (nie usunąłem, aby uniknąć więcej problemów), a potem zadziałało. Na gwiazdce sukcesu usunąłem przeniesione pliki blokady.
źródło