Mój komputer przyszedł z instancją mongodb i nie ma katalogu/db, więc teraz zastanawiam się, co mogę zrobić, aby dowiedzieć się, gdzie dane są rzeczywiście przechowywane.Skąd mam wiedzieć, gdzie mongoDB przechowuje dane? (nie znajduje się on w domyślnej/data/db!)
Odpowiedz
mongod
domyślnych lokalizacji bazy danych /data/db/
.
Jeśli prowadzisz ps -xa | grep mongod
i nie zobaczyć --dbpath
który wyraźnie mówi mongod
patrzeć na tego parametru dla lokalizacji db, a ty nie masz dbpath
w mongodb.conf
, wtedy domyślna lokalizacja będzie: /data/db/
i powinieneś tam zajrzeć.
Nie ma takiego katalogu – user2384994
@ użytkownik2384994 mój był zlokalizowany w'/etc/mongod.conf' –
Nie widziałem ścieżki, ale '/usr/bin/mongod -f/etc/mongod.conf'. Zrobiłem dbpatch z config. – Putnik
Co mówi twój plik konfiguracyjny?
$ grep dbpath /etc/mongodb.conf
Jeśli nie jest prawidłowy, spróbuj tego, pliki baz danych będzie obecny na liście:
$ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG
To /var/lib/mongodb/*
na mojej domyślnej instalacji (Ubuntu 11.04).
Należy pamiętać, że istnieje również /var/lib/mongodb/mongod.lock
plik trzymając mongod
PID dla wygody, jednak znajduje się on w katalogu danych - co szukamy ...
Brak katalogu/var/lib na tym serwerze i te dwa polecenia nie działają (najpierw nie można znaleźć /etc/mongodb.conf drugiego nierozpoznanego lsof) – Zugwalt
Może powinieneś dodać informacje dla swojego hosta. Nie wydaje się być takim Ubuntu jak dystrybucja. – DrColossos
Na Ubuntu 16.04 mongodb v3.4.10, jest to '$ grep dbPath/etc/mongod.conf' – ihsan
Znaleziono go po prostu szturchając w /var/db
. Dziękuję za pomoc - jestem pewien, że te odpowiedzi dotyczą innych systemów (np. Ubuntu) i pomogą innym!
W nowszej wersji MongoDB v2.6.4 try:
grep dbpath /etc/mongod.conf
To daje coś takiego:
dbpath=/var/lib/mongodb
I to jest miejsce, gdzie przechowuje dane.
Z mojego doświadczenia wynika, że domyślna lokalizacja jest /var/lib/mongodb
po robię
sudo apt-get install -y mongodb-org
Potwierdzam to dla Linux Mint 17,3 użytkowników. –
znalazłem kopalni tutaj na systemie OSX /usr/local/var/MongoDB
Dotyczy to użytkowników Homebrew. – Matthew
Choć kwestia ta jest ukierunkowany na Linuksie/Uniksowe wystąpienia Mongo, to jeden z pierwszych wyników wyszukiwania niezależnie od używanego systemu operacyjnego, więc dla przyszłych użytkowników systemu Windows, którzy to stwierdzą:
Jeśli MongoDB jest skonfigurowany jako usługa systemu Windows w domenie domyślnej sposób, zazwyczaj można go znaleźć, patrząc na „ścieżka do pliku wykonywalnego” wpis we właściwościach MongoDB serwisowego:
To nie jest tak oczywiste, ale pytania dotyczą * nix os – st78
@ st78 Wiem, ale to wciąż jeden z pierwszych wyników Google podczas wyszukiwania lokalizacji w systemie Windows, dlatego opuściłem odpowiedź adresująca ścieżkę Windows (gdy już to rozgryzłem) dla ludzi takich jak ja, którzy natknęli się na nią. – Robotnik
Po uruchomieniu go to pokazuje. Ale nie wiem, czy jest to coś, co możesz zrobić na swoim komputerze.Jeśli masz dostęp do linii poleceń i można ponownie uruchomić usługę, dostaniesz coś takiego:
2016-11-15T12:57:09.182-0500 I CONTROL [initandlisten]
MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\
faktycznie domyślnym katalogiem gdzie mongod instancja przechowuje swoje dane
/data/db
na Linux i OS X
\data\db
Windows
Jeśli zainstalowany MongoDB za pomocą systemu zarządzania pakietami sprawdzić /etc/mongod.conf
plików dostarczonych przez twoje pakiety, aby zobaczyć katalog jest określony.
Ustawienie storage.dbPath
jest dostępne tylko dla mongod
.
Skrypty startowe pakietu Linux nie oczekują zmiany wartości domyślnej z storage.dbPath
. Jeśli używasz pakietów Linux i zmieniasz storage.dbPath
, będziesz musiał użyć własnych skryptów startowych i wyłączyć wbudowane skrypty.
Jeśli można jakoś zlokalizować mongod.log i zrobić grep nad nim
grep dbpath mongod.log
Wartość dbpath jest lokalizacja danych dla MongoDB !! Wszystkiego najlepszego :)
- 1. Gdzie Redis przechowuje dane
- 2. Skąd mam wiedzieć ze strony CPAN modułu, czy znajduje się w dystrybucji rdzenia?
- 3. Skąd mam wiedzieć, czy mogę wyłączyć SQLALCHEMY_TRACK_MODIFICATIONS?
- 4. Skąd mam wiedzieć, czy system jest włączony?
- 5. Skąd mam wiedzieć, której wersji OpenGL używam?
- 6. Skąd mam wiedzieć, że kolumnizacja jest skończona?
- 7. Skąd mam wiedzieć mój URL tożsamości OpenId?
- 8. Skąd mam wiedzieć, co nazwa_sprzedawcy certyfikatu?
- 9. Skąd mam wiedzieć, jaka wersja servlet-api.jar mam?
- 10. UITableView, skąd mam wiedzieć, co Sekcja podczas cellForRowAtIndexPath?
- 11. node.js async.each callback, skąd mam wiedzieć, kiedy to zrobione?
- 12. Skąd mam wiedzieć, kiedy HTML w pełni renderowane
- 13. Przycisk w GridView: Skąd mam wiedzieć, który element?
- 14. W Xcode skąd mam wiedzieć, czy mój obraz działa poprawnie?
- 15. Skąd mam wiedzieć, czy połączenie jest aktywne z gniazdami internetowymi?
- 16. Skąd mam wiedzieć, id id przed zapisaniem obiektu w jpa
- 17. Skąd mam wiedzieć, kiedy indeksować kolumnę i z czego?
- 18. Skąd mam wiedzieć, KIEDY zamknąć połączenie utrzymywania połączenia HTTP 1.1?
- 19. kiedy ręcznie uruchamiam garbage collector, skąd mam wiedzieć, kiedy jest on zakończony?
- 20. Gdzie `getchar()` przechowuje dane wejściowe użytkownika?
- 21. Skąd mam wiedzieć, czy moja przeglądarka obsługuje SVG 2.0?
- 22. Przetwarzanie adnotacji Java: skąd mam wiedzieć, czy runda jest ostatnia?
- 23. Skąd mam wiedzieć, czy mój serwer ma NUMA?
- 24. Gdzie znajduje się Microsoft.Deployment.WindowsInstaller?
- 25. Linux: skąd mam wiedzieć, że moduł eksportuje węzeł urządzenia?
- 26. Skąd mam wiedzieć, czy właściwość jest kolekcją generyczną?
- 27. Gdzie znajduje się Sklep z nazwami fsImage and edit Log?
- 28. Skąd WordPress przechowuje strony HTML?
- 29. Gdzie QtCreator przechowuje dane o zestawach?
- 30. Skąd mam wiedzieć, jaki jest bieżący tag Mercurial?
Istnieje bardziej aktualne pytanie na ten temat, które ma lepszą odpowiedź: ["Jaka jest domyślna ścieżka do bazy danych dla mongodb?"] (Http://stackoverflow.com/questions/7247474/how -can-i-tell-where-mongodb-is-storing-data-its-not-in-db). Ścieżka danych będzie domyślną wartością '/ data/db' (jeśli nie będzie używany żaden plik konfiguracyjny) lub będzie można ją znaleźć za pomocą' db.adminCommand ("getCmdLineOpts") .edsed.dbpath'. – Stennie
na OSX, mongo 3.0.4, musiałem użyć "db.adminCommand (" getCmdLineOpts "). Parsed.storage.dbPath" –
@Stennie Twój komentarz pomógł mi (jestem na Windowsie, więc używam Robomongo), ale twoje pytanie-link wskazuje na to pytanie, a nie na twój cel - http://stackoverflow.com/a/12738557/112764 - iw 3.x, to tak naprawdę 'db.adminCommand (" getCmdLineOpts "). parsed.storage.dbpath' – NateJ