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)?

Zofia
źródło
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.

kirpit
źródło
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.

Fatih Acet
źródło
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
Sokratees Samipillai
źródło
Jeśli katalog nie istnieje, zakończy się niepowodzeniem w wersji 4.2 mongo
Tono Nam
21
mongod --dbpath "c://data/db"

uruchom powyższy kod, to uruchomi serwer.

dicemaster
źródło
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 .

Zeeshan Akhter
źródło
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

Andrew Orsich
źródło
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*
dcparham
źródło
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
Artem Zaika
źródło
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.

Siva Karthikeyan
źródło
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.

Shobhit Sharma
źródło
>> 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

Raghav
źródło
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.

laike9m
źródło
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.

Girish Gupta
źródło
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!

Rakesh Deshpande
źródło
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

Ash Upadhyay
źródło