Nowy w MongoDB Nie można uruchomić polecenia mongo


94

Próbowałem uruchomić MongoDB:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

Przeglądałem http://www.mongodb.org/display/DOCS/Quickstart+Windows i postępowałem zgodnie z instrukcjami. Czy ktoś mógłby mi powiedzieć, na czym polega problem z uruchomieniem MongoDB (używam Windows 7)?


Negocjowane, ponieważ nie można żądać zbyt wiele czytania dzienników, nawet od kogoś nowego. Linia tuż przed rozpoczęciem wyłączenia jasno określa, co się dzieje.
Markus W Mahlberg,

Odpowiedzi:


76

Myślę, że twoje dane wyjściowe dziennika jasno to potwierdzają;

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

Możesz po prostu utworzyć ten katalog lub lepiej zdefiniować go jako wartość konfiguracyjną w pliku konfiguracyjnym, a następnie użyć go jako mongod -f C:\path\to\your\mongodb.conf.


6
bez obaw. po prostu pozbądź się tego windowz, co sprawi, że będziesz bardziej zaznajomiony z tworzeniem oprogramowania ..
kirpit

14
Domyślnie MongoDB szuka w folderze: c: \ data \ db, więc możesz też po prostu utworzyć taką strukturę katalogów, a proces bazy danych MongoDB nie będzie na ciebie krzyczał.
Miguel Sevilla

1
Umieściłem dane \ db w wielu miejscach, a także bezskutecznie korzystałem z opcji --dbpath. Jedyną rzeczą, która zadziałała, było utworzenie folderu c: \ data \ db, jak zasugerował Miguel Sevilla.
brybott

166

Po zainstalowaniu MongoDB należy ręcznie utworzyć folder danych.

Domyślnie MongoDB będzie przechowywać dane w / data / db, 
ale nie utworzy automatycznie tego katalogu. Aby go utworzyć, wykonaj:

$ sudo mkdir -p / data / db /
$ sudo chown ʻid -u` / data / db

Możesz także powiedzieć MongoDB, aby używał innego katalogu danych,
z opcją --dbpath.

Aby uzyskać bardziej szczegółowe informacje, przejdź do strony wiki MongoDB.


3
Taka powinna być odpowiedź - zadziałała i była bardziej pomocna niż „Przeczytaj dokumentację”.
Dan

Warto również zauważyć, że właśnie się o tym dowiedziałem, jeśli uruchomisz z service mongodb startnim mongo , automatycznie czyta /etc/mongod.confplik i nie musisz określać swoich zmiennych --dbpath lub --config przy każdym uruchomieniu! To zdecydowanie działa w przypadku instalacji 10gen, ale nie jestem pewien co do innych, ponieważ ich nie próbowałem.
bezgraniczna

27

Podaj ścieżkę do bazy danych jawnie w ten sposób i zobacz, czy to rozwiąże problem.

mongod --dbpath data/db

Jeśli katalog nie istnieje, zakończy się niepowodzeniem w wersji 4.2 mongo
Tono Nam


6

W przypadku systemu Windows 7

Możesz określić alternatywną ścieżkę dla \data\dbz ustawieniem dbpath dla mongod.exe ,

jak w poniższym przykładzie:

c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db

lub

można ustawić ścieżkę dbpath poprzez plik konfiguracyjny .


4

Sprawdź, czy istnieje ścieżka do plików danych bazy danych;):

Niedziela, 06 listopada 18:48:37 [initandlisten] wyjątek w initAndListen: 10296 dbpath (/ data / db) nie istnieje , zakończenie


2

To zadziałało dla mnie (jeśli dotyczy, widzisz również plik blokady):

first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*

2

Po kilku próbach działa to dla mnie na Windows 7 env .:

Początkowo katalog, do którego skopiowałeś wszystkie źródła MongDB, ma taki widok:

bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

Wystarczy dodać katalog danych i zagnieżdżony katalog db (dane / db) Ostateczny widok powinien wyglądać następująco:

data
bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

Następnie po prostu wpisz w katalogu, w którym istnieją źródła MongoDB i katalogi danych / db, to polecenie:

C:\my_mongo_dir\bin>mongod --dbpath .\data\db

1

Sprawdź również, czy zainstalowałeś Mongo jako usługę systemu Windows i czy jest uruchomiona. To też jest ważne. Z tego powodu może wystąpić konflikt portów.


1

Utwórz katalog data / db na głównej partycji (Windows):

C:\> mkdir \data
C:\> mkdir \data\db

a następnie przejdź do swojego mongo_directory / bin i uruchom mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

NIE ZAMYKAJ TEGO OKNA

Teraz w innym oknie wiersza polecenia uruchom Mongo:

C:\> cd \my_mongo_dir\bin
C:\my_mongo_dir\bin> mongo

(PAMIĘTAJ, ŻE MUSISZ ZATRZYMAĆ TO INNE OKNO OTWARTE)

To rozwiązało problem.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // uwaga: net start może wymagać pozwolenia administratora
damphat

1

utwórz strukturę folderów data / db w katalogu roboczym, a następnie uruchom mongodb za pomocą "mongod --dbpath data / db" działa dobrze


1

Powinieneś utworzyć, startup.batjeśli używasz systemu Windows, znacznie wygodniej:

C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data

I po prostu dbclick startup.bat i mongodb będą działać C:\mongodb\datajako folder danych.


0

Wystarczy utworzyć katalog w C :. jako C: \ data \ db \

Teraz po prostu uruchom mongoDB:

C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)

Będzie wtedy działać jako usługa w tle.


0

Jeśli używasz systemu Windows 7 / 7+.

Oto coś, czego możesz spróbować.

Sprawdź, czy instalacja przebiega prawidłowo w PANELU STEROWANIA komputera.

Teraz przejdź do katalogu i miejsca, w którym zainstalowałeś MongoDB. Idealnie byłoby, gdyby był w

C: \ Program Files \ MongoDB \ Server \ 3.6 \ bin

Następnie w wierszu poleceń lub w terminalu IDE. Przejdź do powyższej ścieżki (najlepiej do pliku zapisu) i wpisz

mongod --dbpath

Powinno działać dobrze!


0

Najprostsze podejście podane przez plik pomocy README programu mongo

BIEGANIE

W przypadku opcji wiersza poleceń wywołaj:

$ ./mongod --help

Aby uruchomić bazę danych na jednym serwerze:

$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help

Jeśli pracujesz z systemem Windows, przejdź do katalogu, w którym znajduje się plik mongo.exe

użyj następujących poleceń (udostępniam swoje)

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db

C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server

Teraz musisz uruchomić kolejny znak zachęty CMD i przejść do katalogu, w którym masz mongo i po prostu go uruchomić

C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client

Mam nadzieję, że pomogło :)

Jeśli to nie zadziała, uruchom CMD jako administrator

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.