#windows #mongodb
#Windows #mongodb — монгодб #mongodb
Вопрос:
Я пытался запустить MongoDB:
E:mongobin>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:mongobin>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)?
Комментарии:
1. Отклонено, поскольку чтение журналов не может требовать слишком многого, даже от кого-то, кто новичок. В строке непосредственно перед началом завершения работы четко указано, что происходит.
Ответ №1:
После установки MongoDB вам следует вручную создать папку с данными.
По умолчанию MongoDB будет хранить данные в /data/db, но это не приведет к автоматическому созданию этого каталога. Чтобы создать ее, выполните: $ sudo mkdir -p /data/db/ $ sudo chown `id -u` /data/db Вы также можете указать MongoDB использовать другой каталог данных, с параметром --dbpath.
Для получения более подробной информации перейдите на страницу MongoDB wiki.
Комментарии:
1. Это должно быть ответом — это сработало и было более полезным, чем «Прочитать документацию».
2. Также следует отметить, что я только сегодня узнал об этом, если вы запустите mongo с,
service mongodb start
он автоматически считывает/etc/mongod.conf
файл, и вам не нужно указывать переменные —dbpath или —config при каждом запуске! Это определенно работает для установки 10gen, но я не уверен в других, поскольку я их не пробовал.
Ответ №2:
Я думаю, что в вашем выводе журнала это четко указано;
exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
Вы можете просто создать этот каталог или, что лучше, определить его как значение конфигурации в вашем файле конфигурации, а затем использовать его как mongod -f C:pathtoyourmongodb.conf
.
Комментарии:
1. не беспокойтесь. просто избавьтесь от этой штуки windowz, которая сделает вас более знакомым с разработкой программного обеспечения..
2. По умолчанию MongoDB просматривает: c:datadb папка, поэтому вы также можете просто создать эту структуру каталогов, и процесс базы данных MongoDB не будет кричать на вас.
3. Я разместил data db во многих местах, а также безрезультатно использовал параметр —dbpath. Единственное, что сработало, это создание c:datadb папка, как предложил Мигель Севилья.
Ответ №3:
Укажите путь к базе данных явно таким образом и посмотрите, решит ли это проблему.
mongod --dbpath data/db
Комментарии:
1. Если каталог не существует, он завершится ошибкой в mongo версии 4.2
Ответ №4:
mongod --dbpath "c://data/db"
запустите приведенный выше код, это запустит сервер.
Ответ №5:
Для Windows 7
Вы можете указать альтернативный путь для datadb
с параметром dbpath для mongod.exe ,
как в следующем примере:
c:mongodbbinmongod.exe --dbpath c:mongodbdatadb
или
вы можете задать dbpath через файл конфигурации.
Ответ №6:
Проверьте, существует ли путь к файлам данных базы данных 😉 :
Sun Nov 06 18:48:37 [initandlisten] исключение в initAndListen: 10296 dbpath (/data/db) не существует, завершающий
Ответ №7:
Это сработало для меня (если применимо, вы также видите файл блокировки):
first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*
Ответ №8:
После нескольких попыток это работает для меня в Windows 7 env.:
Изначально каталог, в который вы скопировали все источники 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_dirbin>mongod --dbpath .datadb
Ответ №9:
Также проверьте, установлен ли Mongo в качестве службы Windows и работает ли он. Это также важно. Из-за этого может возникнуть конфликт портов.
Ответ №10:
Создайте каталог data / db в вашем основном разделе (Windows):
C:> mkdir data
C:> mkdir datadb
а затем перейдите в свой mongo_directory / bin и запустите mongod.exe:
C:> cd my_mongo_dirbin
C:my_mongo_dirbin> mongod
Не ЗАКРЫВАЙТЕ ЭТО ОКНО
Теперь в другом окне командной строки запустите Mongo:
C:> cd my_mongo_dirbin
C:my_mongo_dirbin> mongo
(ПОМНИТЕ, ЧТО ВЫ ДОЛЖНЫ ОСТАВИТЬ ЭТО ДРУГОЕ ОКНО ОТКРЫТЫМ)
Это решило проблему для меня.
Комментарии:
1. >> mongod —install —dbpath c:datadb —logpath c:datalog >> net start «Mongo DB» // примечание: для net start может потребоваться разрешение администратора
Ответ №11:
создайте структуру папок data / db в рабочем каталоге, а затем запустите mongodb с помощью «mongod —dbpath data / db» работает просто отлично
Ответ №12:
Вам следует создать startup.bat
, если вы используете Windows, гораздо удобнее:
C:mongodbmongodb-win32-x86_64-eiditonbinmongod.exe --dbpath C:mongodbdata
И просто щелкните dbclick startup.bat, и mongodb запустится, используя C:mongodbdata
в качестве папки данных.
Ответ №13:
Вам просто нужно создать каталог в C:. as C:datadb
Теперь просто запустите MongoDB:
C:Usersgi.gupta>"c:Program FilesMongoDBServer3.2binmongod.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:datadb 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:datadb 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)
Затем он будет работать как служба в фоновом режиме.
Ответ №14:
Если вы используете Windows 7/7 .
Вот что вы можете попробовать.
Проверьте правильность установки в панели УПРАВЛЕНИЯ вашего компьютера.
Теперь перейдите в каталог, в котором вы установили MongoDB. В идеале это было бы в
C:Program FilesMongoDBServer3.6bin
Затем либо в командной строке, либо в терминале IDE. Перейдите по указанному выше пути (в идеале к файлу сохранения) и введите
mongod —dbpath
Все должно работать нормально!
Ответ №15:
Самый простой подход, предоставленный файлом справки 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 FilesMongoDBServer3.6bin>mkdir data
C:Program FilesMongoDBServer3.6bin>mkdir datadb
C:Program FilesMongoDBServer3.6bin>mongod ## this will start your mongoDB server
Теперь вам нужно запустить другое приглашение CMD и перейти в каталог, где у вас есть mongo, и просто запустить его
C:Program FilesMongoDBServer3.6bin>mongo ## this will start your mongoDB client
Надеюсь, это помогло 🙂
Если это не сработает, запустите CMD от имени администратора