Niedawno zainstalowałem mongodb-2.6.0 z Homebrew . Po pomyślnym zainstalowaniu próbowałem połączyć się za pomocą mongo
polecenia. Otrzymuję następujące błędy, które nie pozwalają mi się połączyć:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused
Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
exception: connect failed
/var/logs/mongodb
jeśli dobrze pamiętam.Odpowiedzi:
Może się tak zdarzyć, gdy usługa mongodb nie działa na komputerze Mac. Aby to rozpocząć, próbowałem
i zadziałało.
Edycja: Zgodnie z dyskusją na temat tego PR w homebrew: https://github.com/Homebrew/homebrew/issues/30628
brew services
jest przestarzała, rozejrzałem się po SO i znalazłem te odpowiedzi, a teraz odpowiedz na pytanie: Jaki jest prawidłowy sposób uruchomienia usługi mongod w systemie Linux / OS X?źródło
sudo mongod
uruchomił mongodb, a następnie polecenie mongo zadziałało. Dzięki @Ali Raza Bhayani.Napotkałem dokładnie ten sam problem i oto jasny proces krok po kroku, aby uniknąć tego błędu.
Krok 1 - Instalacja (nie wykonuj tego kroku, jeśli masz już zainstalowaną MongoDB):
Krok 2 - Uruchom demona Mongo:
Krok 3 - Uruchom interfejs powłoki Mongo:
W tej kolejności udało mi się uruchomić
mongo
polecenie bez żadnego błędu. Na tym blogu szczegółowo opisałem również śledzenie błędów i ich rozwiązanie .źródło
Aby rozwiązać problem, musisz postępować zgodnie z instrukcjami, które są następnie podawane przez brew po użyciu polecenia „brew install mongodb”.
Aby launchd uruchomił mongodb podczas logowania:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Następnie, aby załadować mongodb teraz:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Lub, jeśli nie chcesz / nie potrzebujesz launchctl, możesz po prostu uruchomić:
Możesz po prostu uruchomić to ostatnie polecenie, ale nie zadziałało dla mnie i musiałem uruchomić drugie polecenie. Aby mnie uratować w przyszłości. Po prostu uruchomiłem też pierwsze polecenie. Mam nadzieję, że to pomoże!
EDYCJA Metoda używania Hrishiego
brew services mongodb start
działała dobrze dla mnie. Myślę, że powinni to zawrzeć w dokumentach mongo.źródło
ctrl + c
i spróbujmongo
.W innej zakładce możesz uruchomić muszlę mongo za pomocą
Następnie wróć do poprzedniej karty i spróbuj ponownie. Jeśli masz problemy ze skonfigurowaniem mongoshell, sprawdź ten link w powłoce mongo: http://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/ lub ten link dotyczący instalacji mongodb: http: / /docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
źródło
Miałem ten sam problem podczas dzwonienia
mongod
z wiersza poleceń.Rozwiązałem to dzwoniąc zamiast tego
sudo mongod
.źródło
Wystąpił ten sam błąd, ale inna przyczyna. Pomyślałem, że opublikuję tutaj rozwiązanie na wypadek, gdyby ktoś napotkał problem. Ten błąd wystąpił po nieprawidłowym zamknięciu komputera Mac podczas pracy
mongorestore -d foo dump/foo/
.tl; dr : Naprawiłem problem poprzez usunięcie uszkodzonego
foo.ns
pliku wraz zfoo.0
,foo.1
... z mojego folderu danych/usr/local/var/mongodb/
. Następnie zrestartowałem serwer mongobrew services restart mongodb
i wróciłem do normy.Szczegóły : Ciągle otrzymywałem błąd nawet po próbie uruchomienia lub ponownego uruchomienia usługi mongodb za pośrednictwem brew lub launchctl. W końcu uruchomiłem
mongod --dbpath /usr/local/var/mongodb
i zobaczyłem, że usługa tak naprawdę się nie uruchamia, a sekwencja startowa zawierała następujący błąd:[initandlisten] bad .ns file: /usr/local/var/mongodb/foo.ns [initandlisten] User Assertion: 10079:bad .ns file length, cannot open database
pozbyłem się złego.ns
pliku i reszty plików danych, a następnym razem, gdy uruchomiłem usługę, było dobrze .źródło
dla mnie na osx musiałem zabić starą uruchomioną instancję, a ponowne uruchomienie zadziałało.
$>ps -aef | grep mongo 502 8047 1 0 11:52AM ?? 0:00.23 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf $>sudo kill 8047 $>sudo mongod
źródło
Dla każdego, kto szuka odpowiedzi na to pytanie po zaktualizowaniu komputera Mac do systemu operacyjnego Catalina
biegać
więcej informacji znajdziesz tutaj: https://medium.com/@semmons245/arghhhh-thanks-to-the-catalina-os-update-this-now-needs-changing-987f416ebcbe
źródło
Otrzymałem ten błąd po uaktualnieniu do Mongo 3.6 z Homebrew.
Dziennik
/usr/local/var/log/mongodb/mongo.log
zawierał wiadomośćshutting down with code:62
. Ten kod błędu oznacza, że istniejąca baza danych jest zbyt stara, aby mogła działać z aktualną wersją mongo.Znalazłem 2 rozwiązania w innym pytaniu SO :
/usr/local/var/mongodb
)Zdecydowałem się na uaktualnienie. W moim przypadku oznaczało to, że musiałem przejść na starszą wersję 3.4, uruchomić polecenie w konsoli mongo, a następnie zaktualizować ponownie. Mongo wymaga aktualizowania jednej głównej wersji naraz, więc w zależności od tego, jak daleko byłeś, mogą być dodatkowe kroki. Dokumentacja Cię poprowadzi.
Polecenia
brew switch
* ibrew services restart
sprawiły, że przełączanie między wersjami było stosunkowo bezbolesne.źródło
Jeśli zainstalowałeś już MongoDB, to najpierw spróbuj uruchomić mongod jako użytkownik sudo, napotkałem problem, ponieważ mongod nie był uruchomiony jako superużytkownik.
Wkleiłem o / p dla obu poleceń ( mongod i sudo mongod ) na samym dole, możesz to też sprawdzić, ale
Najpierw spróbuj tego
nie to
Zainstalowałem MongoDB na moim MAC OS X Sierra 10.12.6, uruchamiając kolejno następujące polecenie.
następnie utworzył katalog, do którego proces mongod zapisze dane, jest to opcjonalne, ponieważ proces mongod przyjmuje go domyślnie, zobacz ten przydatny przewodnik pod adresem https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os -x /
Wreszcie rozpoczął się proces mongod w następujący sposób
Wyjście poleceń mongod (nie powiodło się) i sudo mongod (powiodło się) na moim terminalu.
MacBook-Pro-2:appscheck admin$ mongod 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] MongoDB starting : pid=2698 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] db version v3.4.10 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] allocator: system 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] modules: none 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] build environment: 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] distarch: x86_64 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] target_arch: x86_64 2017-12-10T08:12:06.166+0530 I CONTROL [initandlisten] options: {} 2017-12-10T08:12:06.166+0530 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating 2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to close listening sockets... 2017-12-10T08:12:06.166+0530 I NETWORK [initandlisten] shutdown: going to flush diaglog... 2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] now exiting 2017-12-10T08:12:06.167+0530 I CONTROL [initandlisten] shutting down with code:100 MacBook-Pro-2:appscheck admin$ sudo mongod Password: 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] MongoDB starting : pid=2700 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro-2.local 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] db version v3.4.10 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] git version: 078f28920cb24de0dd479b5ea6c66c644f6326e9 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2n 7 Dec 2017 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] allocator: system 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] modules: none 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] build environment: 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] distarch: x86_64 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] target_arch: x86_64 2017-12-10T08:12:14.084+0530 I CONTROL [initandlisten] options: {} 2017-12-10T08:12:14.084+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7680M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 2017-12-10T08:12:14.560+0530 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data' 2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" } 2017-12-10T08:12:14.707+0530 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM 2017-12-10T08:12:14.719+0530 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs 2017-12-10T08:12:14.720+0530 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4 2017-12-10T08:12:14.720+0530 I NETWORK [thread1] waiting for connections on port 27017
Następnie otworzyłem nowy terminal, aby rozpocząć odpytywanie MongoDB , zadziałało.
MacBook-Pro-2:appscheck admin$ mongo MongoDB shell version v3.4.10 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.10 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] 2017-12-10T08:12:14.472+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 > show dbs; admin 0.000GB local 0.000GB > use practice switched to db practice >
Otóż to.
źródło
Miałem ten sam problem i patrząc w plik dziennika zobaczyłem to:
{2019-03-09T11:57:32.136-0500 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /usr/local/var/mongodb not found., terminating}
więc utworzyłem katalog,
/usr/local/var/mongodb
wydałem polecenie restart usług brew mongodb, mogłem otworzyć konsolę mongo.źródło
mongo
źródło
Mój podobny błąd został rozwiązany przez usunięcie pliku „sudo rm /data/db/mongod.lock” podczas próby uruchomienia mongod. Teraz możesz uruchomić mongod, a potem mongo.
źródło