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

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

Я только что установил MongoDB (стандартная сборка Ubuntu, а не последняя стабильная версия), и по какой-то причине я не могу подключиться:

Mon Feb  6 03:11:22 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:79
exception: connect failed

Теперь моя машина не является 127.xx1 по какой-то причине xxx2 (Но я изменил свой конфиг для привязки к этому адресу, а также попытался связать с моим публичным IP-адресом, который не помог.

Config:

# mongodb.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 199.21.114.XX
port = 27017

Я проверил журналы, и там отображается только информация о запуске.

Я также проверил, что дезамон работает тоже, и это - я даже попытался запустить его вручную с помощью --fork.

Кто-нибудь сталкивался с этим раньше? Или любые предложения?

спасибо

UPDATE:

После перезапуска - вот журналы:

** WARNING: You are running in OpenVZ. This is known to be broken!!!

Tue Feb  7 19:43:32 [initandlisten] db version v1.8.2, pdfile version 4.5
Tue Feb  7 19:43:32 [initandlisten] git version: nogitversion
Tue Feb  7 19:43:32 [initandlisten] build sys info: Linux allspice 2.6.24-28-se$
Tue Feb  7 19:43:32 [initandlisten] *** warning: spider monkey build without ut$
Tue Feb  7 19:43:32 [initandlisten] waiting for connections on port 27017
Tue Feb  7 19:43:32 [websvr] web admin interface listening on port 28017
4b9b3361

Ответ 1

Вы должны указать IP (199.21.114.XX), выполнив mongo 199.21.114.XX.

В противном случае, если вы хотите, чтобы он также прослушивал локальный хост, вы должны удалить параметр bind_ip в файле конфигурации.

Обновить. Проверьте конфигурацию брандмауэра. Поскольку вы подключаетесь к внешнему IP-адресу, его можно настроить для блокировки даже из локального поля.

Ответ 2

Я решил эту проблему, комментируя следующую строку в файле /etc/mongod.conf.

# Listen to local interface only. Comment out to listen on all interfaces. 
#bind_ip = 127.0.0.1

Вам нужно будет выполнить это изменение конфигурации, перезапустив процесс mongod.

sudo service mongod restart

Ответ 3

sudo rm /var/lib/mongodb/mongod.lock

Ответ 4

У меня была такая же проблема только потому, что глупая ошибка.

сначала удалите файл mongodb, который хорош

rm -rf /tmp/mongodb-27017.sock

где я ошибся внутри /etc/mongod.conf

# network interfaces
net:
  port: 27017
 #bindIp: 127.0.0.1
bindIp: privateIp

вместо

net:
  port: 27017
  bindIp: 10.1.2.4

для прослушивания всех доступных ips

bindIp: [127.0.0.1,10.128.0.2]

перезапустить mongodb

sudo service mongod start

надеюсь, этот ответ поможет кому-то

Ответ 5

По умолчанию запуск команды консоли mongo будет искать mongodb на вашем локальном хосте, следовательно, 127.0.0.1 IP, который является вашим локальным loopback. Кроме того, конфигурация по умолчанию для mongod должна быть доступна на localhost. Лучше сделать это сейчас, чтобы начать, если вы не включили auth. Убедитесь, что у вас включен режим auth, или ваша база данных работает открыто на вашем общедоступном ip.

Если вы хотите подключиться к хосту, отличному от localhost или по умолчанию, выполните следующие действия:

mongo <host>

Ответ 6

следующие шаги могут помочь вам:

  • откройте терминал и запустите " sudo rm/var/lib/mongodb/mongod.lock"
  • теперь запустите " sudo mongod --repair"
  • теперь " sudo start mongodb"
  • теперь просто проверьте статус статуса mongodb " sudo status mongodb"

5 наконец-то просто вызовите команду " mongo"

Ответ 7

в /etc/mongod.conf

Я изменился,

bindIp: 127.0.0.1

в

bindIp: 0.0.0.0

это все порты. Да, я знаю, что это рискованно, но я работаю по внутренней сети.

Кстати, комментируя #bindIp: 127.0.0.1 не работал для меня, работает под Ubuntu 18.

Ответ 8

Другой способ - добавить параметр mongod в параметр bind_ip.

mongod -–help

--bind_ip список разделенных запятыми IP-адресов для прослушивания - по умолчанию localhost

--bind_ip _все связать со всеми IP-адресами

mongod --fork --logpath /var/log/mongodb.log --dbpath /data/db --bind_ip 0.0.0.0