Нове для MongoDB Не вдається запустити команду mongo


93

Я намагався запустити 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

Я переглядав http://www.mongodb.org/display/DOCS/Quickstart+Windows і дотримувався інструкцій. Хтось може сказати мені, в чому проблема запуску MongoDB (я використовую Windows 7)?


Проголосували проти, оскільки читання журналів не можна вимагати занадто багато, навіть у когось нового. У рядку перед початком відключення чітко вказано, що відбувається.
Markus W Mahlberg

Відповіді:


76

Думаю, у вашому журналі це чітко зазначено;

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

Ви можете просто створити цей каталог або краще визначити його як значення конфігурації у своєму файлі конфігурації, а потім використовувати як mongod -f C:\path\to\your\mongodb.conf.


6
ніяких турбот. просто позбудьтеся цієї речі windowz, яка зробить вас більш знайомими з розробкою програмного забезпечення ..
kirpit

14
За замовчуванням MongoDB шукає в папці: c: \ data \ db, тому ви також можете просто створити цю структуру каталогів, і процес бази даних MongoDB не буде кричати на вас.
Мігель Севілья

1
Я розмістив дані \ db у багатьох місцях, а також використовуючи параметр --dbpath безрезультатно. Працювало лише створення папки c: \ data \ db, як запропонував Мігель Севілья.
brybott

165

Після встановлення MongoDB вам слід вручну створити папку даних.

За замовчуванням MongoDB буде зберігати дані в / data / db, 
але це не буде автоматично створювати цей каталог. Щоб створити його, виконайте:

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

Ви також можете сказати MongoDB використовувати інший каталог даних,
з опцією --dbpath.

Для отримання більш детальної інформації перейдіть на вікі-сторінку MongoDB.


3
Це має бути відповіддю - це спрацювало і було корисніше, ніж "Прочитайте документацію".
Ден,

Також слід зазначити, що я щойно дізнався про це сьогодні, якщо ви запускаєте mongo, коли service mongodb startвін автоматично зчитує /etc/mongod.confфайл, і вам не потрібно вказувати свої змінні --dbpath або --config кожного разу, коли ви запускаєте! Це точно працює для встановлення 10gen, але я не впевнений в інших, оскільки я їх не пробував.
безмежний

27

Вкажіть шлях до бази даних явно так і перевірте, чи це вирішить проблему.

mongod --dbpath data/db

Якщо каталог не існує, він зазнає невдачі за версією mongo 4.2
Tono Nam


5

Для Windows 7

Ви можете вказати альтернативний шлях для \data\dbпараметра dbpath для mongod.exe ,

як у наступному прикладі:

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

або

ви можете встановити dbpath через файл конфігурації .


4

Перевірте, чи існує шлях до файлів даних бази даних;):

Нд листопада 06 18:48:37 [initandlisten] виняток у initAndListen: 10296 dbpath (/ data / db) не існує , закінчуючи


2

Це спрацювало для мене (якщо це стосується того, що ви також бачите файл блокування):

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

2

Після кількох спроб це працює для мене в середовищі Windows 7 :

Спочатку каталог, до якого ви скопіювали всі джерела MongDB, має такий вигляд:

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

Все, що вам потрібно, це додати каталог даних і каталог вкладених db (data / db) Остаточний вигляд повинен виглядати так:

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

Потім просто введіть у директорію, де існують джерела MongoDB та директорії даних / db, наступну команду:

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

1

Також перевірте, чи ви встановили Mongo як службу Windows, і чи працює вона. Це теж важливо. Через це може виникнути конфлікт портів.


1

Створіть каталог даних / db у головному розділі (Windows):

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

а потім перейдіть до вашого mongo_directory / bin і запустіть mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

НЕ ЗАКРИВАЙТЕ ЦЕ ВІКНО

Тепер в іншому вікні командного рядка запустіть Mongo:

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

(ПАМ’ЯТАЙТЕ, ЩО ТРЕБА ЗБЕРІГАТИ ТЕ ІНШЕ ВІКНО)

Це вирішило проблему для мене.


>> mongod --install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // примітка: net start може потребувати дозволу адміністратора
damphat

1

створити структуру папок data / db у робочому каталозі, а потім запуск mongodb за допомогою "mongod --dbpath data / db" працює нормально


1

Ви повинні створити startup.batнабагато зручніше:

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

І просто dbclick startup.bat і mongodb буде працювати, використовуючи C:\mongodb\dataяк свою папку даних.


0

Вам просто потрібно створити каталог в C :. як C: \ data \ db \

Тепер просто запустіть 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)

Потім він буде працювати як служба у фоновому режимі.


0

Якщо ви використовуєте Windows 7/7+.

Ось те, що ви можете спробувати.

Перевірте, чи правильна установка на ПАНЕЛІ УПРАВЛІННЯ вашого комп’ютера.

Тепер перейдіть до каталогу і там, де ви встановили MongoDB. В ідеалі це було б в

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

Потім або в командному рядку, або в терміналі IDE. Перейдіть до вищевказаного шляху (в ідеалі - це файл збереження) і введіть

mongod --dbpath

Це повинно працювати добре!


0

Найпростіший підхід, наданий файлом довідки mongo README

БІГ

Для вибору параметрів командного рядка:

$ ./mongod --help

Щоб запустити одну базу даних сервера:

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

Якщо ви працюєте з Windows, перейдіть до каталогу, де у вас є mongo.exe

використовуйте наступні команди, (я ділюсь своїми)

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

Тепер вам потрібно запустити інший підказку CMD і перейти до каталогу, де у вас є mongo, і просто запустити його

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

Сподіваюся, це допомогло :)

Якщо це не працює, запустіть CMD як адміністратор

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.