Подтвердить что ты не робот

Не удается подключиться к MongoDB errno: 61

Я установил MongoDB с использованием macports и попробовал запустить команду mongo, чтобы запустить оболочку mongo. Я получил следующие ошибки:

warning: Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused

Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed 
at src/mongo/shell/mongo.js:146

Затем я запустил mongod и получил следующую ошибку:

$ [initandlisten] MongoDB starting : pid=11984 port=27017 dbpath=/data/db 64-bit host=Nikitas-MacBook-Air.local
$ [initandlisten] 
$ [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
$ [initandlisten] db version v2.6.0
$ [initandlisten] git version: nogitversion
$ [initandlisten] build info: Darwin tennine-slave.macports.org 13.1.0 Darwin Kernel Version 
13.1.0: Thu Jan 16 19:40:37 PST 2014; root:xnu-2422.90.20~2/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_55
$ [initandlisten] allocator: tcmalloc
$ [initandlisten] options: {}
$ [initandlisten] exception in initAndListen: 10296 
*********************************************************************
 ERROR: dbpath (/data/db) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************
, terminating
$ [initandlisten] dbexit: 
$ [initandlisten] shutdown: going to close listening sockets...
$ [initandlisten] shutdown: going to flush diaglog...
$ [initandlisten] shutdown: going to close sockets...
$ [initandlisten] shutdown: waiting for fs preallocator...
$ [initandlisten] shutdown: lock for final commit...
$ [initandlisten] shutdown: final commit...
$ [initandlisten] shutdown: closing all files...
$ [initandlisten] closeAllFiles() finished
$ [initandlisten] dbexit: really exiting now

Где я могу создать каталог /data/db в корне? Будет ли вторая ошибка причиной errno:61 при запуске mongo?

4b9b3361

Ответ 1

Да, вы создали бы /data/db в корне. Документация MongoDB предлагает следующую команду для создания на OS X mkdir -p /data/db.

Относительно вашего второго вопроса, да. Поскольку Mongo Daemon не удалось запустить и не прослушивает, вы получаете ошибку соединения.

MongoDB по умолчанию имеет значение /data/db для каталога данных. Вы можете переопределить значение по умолчанию с помощью параметра --dbpath в команде mongod (также в ссылке doc выше).

Ответ 2

Я столкнулся с подобной проблемой. Я подробно описал трассировку ошибок и решение в этом блоге Это шаг за шагом, который я сделал для решения этой проблемы:

Шаг 1 - Установка (не выполняйте этот шаг, если вы уже установили MongoDB):

brew update
brew install mongodb

Шаг 2 - Запуск Mongo Daemon:

mkdir -p /data/db
sudo mongod

Шаг 3 - Запустите интерфейс Mongo Shell:

mongo

В этой последовательности я смог запустить команду mongo без каких-либо ошибок.

Ответ 3

** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000

вы можете добавить одну строку в ваш /etc/bashrc, предупреждение исчезнет.

ulimit -S -n 1024

используйте chown -R {user} /data/db, чтобы изменить владельца /data/db от root к себе. Затем вы можете запустить оболочку mongo только mongo, не нужно использовать sudo mongo.