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


94

Я пытался запустить 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 не будет кричать на вас.
Miguel Sevilla

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

166

После установки MongoDB вы должны вручную создать папку данных.

По умолчанию MongoDB будет хранить данные в / data / db, 
но он не создаст этот каталог автоматически. Чтобы создать его, выполните:

$ sudo mkdir -p / данные / дб /
$ sudo chown ʻid -u` / данные / db

Вы также можете указать MongoDB использовать другой каталог данных,
с параметром --dbpath.

Для получения более подробной информации перейдите на страницу вики MongoDB.


3
Это должно быть ответом - это сработало и было более полезным, чем "Прочитать документацию".
Дэн

Также следует отметить, что я только что узнал об этом сегодня, если вы запустите mongo, service mongodb startон автоматически прочитает /etc/mongod.confфайл, и вам не нужно указывать переменные --dbpath или --config при каждом запуске! Это определенно работает для установки 10gen, но я не уверен в других, поскольку я их не пробовал.
boundless08

27

Явно укажите путь к базе данных и посмотрите, решит ли это проблему.

mongod --dbpath data/db

Если каталог не существует, он выйдет из строя под версией mongo 4.2
Тоно Нам


6

Для 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 и каталоги data / db, эту команду:

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

1

Также проверьте, установили ли вы Mongo как службу Windows и работает ли она. Это тоже важно. Из-за этого может возникнуть конфликт портов.


1

Создайте каталог data / 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если вы используете Windows, намного удобнее:

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.