Postępowałem zgodnie z dokumentami MongoDb, aby skonfigurować moją pierwszą bazę danych MongoDb,
Kiedy uruchamiam MongoDB za pomocą polecenia
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Postępowałem zgodnie z dokumentami MongoDb, aby skonfigurować moją pierwszą bazę danych MongoDb,
Kiedy uruchamiam MongoDB za pomocą polecenia
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Odpowiedzi:
MongoDB potrzebuje folderu do przechowywania bazy danych. Utwórz C:\data\db\
katalog:
mkdir C:\data\db
a następnie uruchom MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Czasami C:\data\db
folder już istnieje z powodu poprzedniej instalacji. Więc jeśli z tego powodu mongod.exe
nie zadziała, możesz usunąć całą zawartość z C:\data\db
folderu i uruchomić mongod.exe
ponownie.
/mongodb_data/db
Dla użytkowników macOS, aby rozwiązać ten problem:
Musisz wykonać następujące kroki:
Utwórz katalog „db”. Tutaj będą znajdować się pliki danych Mongo. Możesz utworzyć katalog w domyślnej lokalizacji, uruchamiając:
sudo mkdir -p /data/db
Upewnij się, że /data/db
katalog ma odpowiednie uprawnienia, uruchamiając:
sudo chown -R `id -un` /data/db
Wszystko gotowe i możesz biec, sudo mongod
aby uruchomić serwer Mongo.
To nie działa, jeśli tylko biegasz mongod
Źródło .
mkdir: /data/db: Read-only file system
po uruchomieniu pierwszego polecenia. Jak mogłem to naprawić? Dziękuję Ci.
Ten sam problem na moim Macu (przy użyciu Brew) został rozwiązany za pomocą:
sudo mongod
Aby zmienić domyślny folder db C:\data\db
w systemie Windows, polecenie brzmi:
--dbpath
Na przykład:
\mongod --dbpath C:\myfolder
Użytkownicy komputerów Mac
Zamiast uruchamiać MongoDB z:
sudo mongod
Możesz użyć mongod
zamiast tego, jeśli:
sudo chmod -R ugo+rw data
Jeśli musisz używać sudo
podczas uruchamiania mongodb ( sudo mongod
), oznacza to, że nie masz uprawnień do odczytu i zapisu w folderze danych mongodb
Wykonaj następujące kroki:
Jak wspominali inni znajomi, najpierw powinieneś utworzyć katalog, w którym będą przechowywane dane bazy danych. Ten folder może wyglądać następująco:
C: \ mongo-data
Z wiersza poleceń przejdź do miejsca, w którym zainstalowałeś mongodb i gdzie znajduje się mongod.exe. W moim przypadku pełna ścieżka to:
C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin
Stąd uruchom mongod.exe i przekaż mu ścieżkę do folderu utworzonego w kroku pierwszym, używając flagi --dbpath w następujący sposób:
mongod.exe --dbpath "C: \ mongo-data"
Uwaga : jeśli korzystasz z systemu Windows, konieczne jest użycie podwójnych cudzysłowów ("") w powyższym, aby działał poprawnie.
W ten sposób otrzymasz coś takiego:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Jeśli użyjesz apostrofów („”) w oknach, otrzymasz:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
Mam nadzieję, że pomoże to rozwiązać problem.
Aby uruchomić Mongo DB demona za pomocą mongod
polecenia, powinieneś mieć katalog bazy danych, prawdopodobnie musisz uruchomić:
mkdir C:\data\db
Ponadto MongoDB musi mieć uprawnienia do zapisu w tym katalogu lub powinno być uruchamiane z uprawnieniami administratora, na przykład sudo mongod
.
Podczas próby uruchomienia mongodb (w systemie Mac OS) otrzymywałem następujący błąd.
"shutting down with code:100"
Użyłem następującego polecenia:
./mongod --dbpath=~/mongo-data
Rozwiązanie dla mnie polegało na tym, że nie potrzebowałem znaku „=” i to powodowało błąd. Więc zrobiłem
./mongod --dbpath ~/mongo-data
Chciałem tylko to wyrzucić, ponieważ błąd w żaden sposób nie wskazuje, że to jest problem. Prawie usunąłem zawartość katalogu ~ / mongo-data, aby sprawdzić, czy to pomogło. Cieszę się, że przypomniałem sobie, że argumenty CLI czasami nie używają znaku „=”.
najpierw musisz utworzyć katalog danych, w którym MongoDB przechowuje dane. Domyślna ścieżka katalogu danych MongoDB to ścieżka bezwzględna \ data \ db na dysku, z którego uruchamiasz MongoDB.
jeśli masz instalację na dysku C: /, musisz utworzyć katalog data \ db. za wykonanie tego polecenia uruchomienia w cmd
C:\>mkdir data\db
Aby uruchomić MongoDB, uruchom mongod.exe.
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"
Opcja --dbpath wskazuje na katalog bazy danych.
Połącz się z MongoDB.
"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"
aby sprawdzić, czy wszystko działa dobrze:
show dbs
Jeśli pokazuje błąd (zamykanie z kodem 100), oznacza to, że nie znajduje żądanej lokalizacji pliku.
1.a Jeśli jest to wersja sprzed macOS Catalina, utwórz katalog za pomocą sudo mkdir -p / data / db i nadaj uprawnienia do używania go
sudo chown -R id -un
/ data / db.
1.b, jeśli jest to macOS Catalina i nowsze, wykonaj sudo mkdir -p / System / Volumes / data / db i nadaj mu uprawnienia sudo chown -R id -un
/ System / Volumes / data / db.
2.Uruchomienie Mongo DB Brew Services Run Mongodb-Community
3. Wpisz mongod lub mongod --dbpath / System / Volumes / Data / data / db
4 A jeśli mongod show błąd (zamykanie z kodem 48)
oznacza to, że port jest już używany, więc możesz zrobić dwie rzeczy
4.a Albo zmienisz port mongod, podając
numer portu mongod --dbpath / System / Volumes / Data / data / db - port 27018.
4.b Lub Możesz zabić proces na tym porcie, znajdując proces przez sudo lsof -i: 27017, a następnie zabijając komendą
kill -9
5. powtórz kroki 2 i 3.
Dla użytkowników macOS zajmij się poniższym problemem:
jeśli instalujesz społeczność MongoDB na macOS przy użyciu .tgz Tarball
(( Począwszy od macOS 10.15 Catalina, Apple ogranicza dostęp do domyślnego katalogu danych MongoDB / data / db. W macOS 10.15 Catalina musisz użyć innego katalogu danych, takiego jak / usr / local / var / mongodb. ))
możesz rozwiązać to w następujący sposób:
(Od MacOS Catalina)
Apple utworzył nowy wolumin w Catalinie ze względów bezpieczeństwa. Jeśli korzystasz z Cataliny, musisz utworzyć folder / data / db w System / Volumes / Data.
Użyj tego polecenia:
sudo mkdir -p /System/Volumes/Data/data/db
Następnie użyj tego polecenia, aby nadać uprawnienia:
sudo chown -R `id -un` /System/Volumes/Data/data/db
to zastąpi normalne
sudo mkdir -p /data/db
Upewnij się, że katalog / data / db ma odpowiednie uprawnienia, uruchamiając:
sudo chown -R `id -un` /data/db
po zakończeniu i uruchomieniu mongoDB możesz użyć w terminalu:
sudo mongod --dbpath /System/Volumes/Data/data/db
W systemie MacOS : -
Jeśli podczas uruchamiania serwera mongo zapomniałeś podać ścieżki do wcześniej utworzonej bazy danych, pojawi się powyższy błąd.
sudo ./mongod --dbpath ../../mongo-data/
Uwaga: - ./mongod && ../../mongo-data to ścieżka względna. Możesz więc tego uniknąć, konfigurując zmienną środowiskową
W przypadku systemu Windows mam ten sam problem.
Poprawka była taka - muszę uruchomić wiersz poleceń jako administrator.
jeśli masz już katalog, sprawdź uprawnienia dir lub spróbuj ponownie uruchomić mongo za pomocą sudo. Usługi sudo brew uruchamiają się mongodb
W moim przypadku wystąpił podobny błąd i działo się tak, ponieważ uruchomiłem mongod z użytkownikiem root i utworzyłem plik dziennika dostępny tylko dla roota. Mogę to naprawić, zmieniając własność z roota na użytkownika, z którego zwykle uruchamiasz mongod. Plik dziennika znajdował się w / var / lib / mongodb / journal /
Jeśli używasz Virtualbox, sprawdź swoją maszynę wirtualną.
docker-machine ssh
df -h
Spójrz na dev / sda1, jeśli nie masz wolnego miejsca, może to być spowodowane dużą liczbą obrazów lub kontenerów. możesz je usunąć używając "docker rm" i "docker rmi"
Aravind.
Zdarzyło się to również ze mną, ponieważ zatrzymałem MongoDB przez Menedżera zadań.
Utworzenie folderu C: \ data \ db i uruchomienie MongoDB w C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe działało, jak sugerował cespon, ale MongoDB nie wyświetlało żadnej z moich baz danych utworzone wcześniej.
Następnie usuń folder C: \ data \ db i napraw instalację za pomocą instalatora MongoDB , odzyskałem dane i uruchomiłem normalnie MongoDB.
(Jestem bardzo nowy w MongoDB, ale pomogło mi to rozwiązać ten problem i odzyskać może dane podglądu).
wpisano mongod i otrzymuję błąd
Błędy:
wyjątek w initAndListen: NonExistentPath: Data directory / data / db not found., zakończenie
wyłącza się z kodem 100
Następnie spróbuj z (utwórz folder danych i db z wszystkimi uprawnieniami)
mongod --dbpath = / data
użyj nowej karty i wpisz mongo.
Jeśli nadal masz problem, możesz sprawdzić mac catalina: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )
dla Windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/
C:\data\db\
nie został znaleziony. Użyj:mkdir C:\data\db