Gdzie jest folder bazy danych mongo w systemie plików


19

Używam Ubuntu 16.04. Utworzyłem bazę danych MongoDB. Kiedy uruchamiam ( mongodkomendą), mówi, że baza danych znajduje się w /data/db( dbpath=/data/db).

Baza danych działa dobrze. Ale w Eksploratorze plików nie mogę znaleźć tego folderu. Zajrzałem do Computerfolderu i folderu Home( Computer/home/<my name>).

Pokazałem również ukryte pliki i foldery za pomocą Ctrl + H.

Jak mogę znaleźć folder bazy danych?

Odpowiedzi:


24

Powinieneś być w stanie znaleźć lokalizację w pliku konfiguracyjnym: /etc/mongod.conf

grep dbPath /etc/mongod.conf

Według dokumentów mongodb :

Domyślna ścieżka to /data/dbkatalog

Domyślnie MongoDB nasłuchuje połączeń od klientów na porcie 27017 i przechowuje dane w katalogu / data / db.

Jeśli dbPathjest ustawiony, mongodb użyje katalogu określonego przezdbPath

Jeśli chcesz mongodprzechowywać pliki danych w ścieżce innej niż /data/db możesz określić dbPath. dbPathMusi istnieć przed uruchomieniem mongod. Jeśli nie istnieje, utwórz katalog i uprawnienia, aby mongodmóc czytać i zapisywać dane na tej ścieżce. Aby uzyskać więcej informacji na temat uprawnień, zobacz dokumentację operacji bezpieczeństwa.


1
Znalazłem /etc/mongod.conf (zauważ, że nie ma litery „b”). Tam jest napisane: storage: dbPath: / var / lib / mongodb. I ten folder wygląda na bazę danych. Zmienna to także dbPath (wielkie litery „P”). Ale dlaczego, do diabła, kiedy uruchamiam mongod, mówi dbpath = / data / db?
croraf,

@croraf - /data/dbjest domyślną wartością ścieżki, jeśli dbPathjest ustawiona, zastępuje tę wartość. Pamiętaj, że aby użyć /data/dbjako rzeczywistej ścieżki, folder powinien istnieć i mieć poprawne prawo własności / uprawnienia. patrz zaktualizowana odpowiedź z linkiem do dokumentów mongodb
Yaron

Dzięki! Problemem są wyniki komendy mongod: „Uruchomienie MongoDB: pid = 2722 port = 27017 dbpath = / data / db 64-bit host = korisnik-Lenovo-Y520-15IKBN” wskazujący, że dbpath to / data / db. Chociaż może to być domyślna ścieżka, komenda startowa db powinna wskazywać rzeczywistą ścieżkę, w moim przypadku / var / lib / mongodb.
croraf,

2
@croraf /etc/mongod.confkonfiguracja jest stosowana tylko wtedy, gdy start MongoDB jako usługa lub jawnie przekazać to w wierszu poleceń: mongod --config /etc/mongod.conf. Jeśli zaczniesz mongodbez żadnych opcji, /data/dbzostanie użyta wartość domyślna . Jeśli zaczynasz mongodjako usługa w systemie Ubuntu, dbPathbędzie to zgodne z /etc/mongod.conf( /var/lib/mongodbdomyślnie). Zazwyczaj chcesz zarządzać MongoDB jako usługą, aby zapewnić spójną konfigurację między wywołaniami.
Stennie,

@Stennie Tak, wygląda na to, że mongod jest uruchamiany przy starcie systemu operacyjnego (co nazywacie „usługą”). To mnie dezorientowało. Sprawdzę dzisiaj, ale prawdopodobnie uruchomienie mongod daje błąd, że port jest już związany.
croraf

1

W przypadku powyższego pytania, mimo że już udzieliłem odpowiedzi, pozwólcie, że przedstawię również to wyjaśnienie:

Kiedy używasz Linuksa (Ubuntu), podczas instalacji mongodb jest on automatycznie konfigurowany i uruchamiany domyślnie. Domyślna ścieżka db znajduje się w mongodb.conf. Gdy zajrzysz do pliku, zobaczysz następujące linie:

   # Where to store the data
     bdpath=/var/lib/mongodb

Teraz, w oparciu o dokument mongodb :

Domyślną ścieżką jest /data/dbkatalog [powinien być] , ale jeśli folder nie jest obecny, mongodb uruchomi się ze ścieżki podanej w pliku mongodb.conf.

Co robić:

  1. zatrzymaj swój mongodb
  2. utwórz domyślny folder danych
  3. uruchom ponownie mongodb: tym razem rozpocznie się od twoich danych utworzonych.

0

To dlatego, że „root”, który widzisz, nie jest prawdziwym rootem, jest rootem twojego domu, w Eksploratorze plików, kiedy jesteś na stronie głównej „root”, naciśnij, backspaceaby przejść do folderu nadrzędnego.


-1

Spróbuj wpisać file:///data/db/w przeglądarce (chrome lub fire-fox). Będziesz mógł zobaczyć pliki i kolekcje, jeśli zostały mongodbzainstalowane w systemie, ale wszystkie byłyby zaszyfrowane, nie można ich odczytać w edytorze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.