Не удается подключиться к 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.X. X. 1 это по какой-то причине x.X. X. 2 (но я изменил свою конфигурацию, чтобы привязаться к этому адресу, а также попытался привязаться к моему общедоступному 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
Я проверил журналы, и там отображается только информация о запуске.
Я также проверил, что deamon тоже работает, и это - я даже попытался запустить его вручную с помощью --fork
.
кто-нибудь сталкивался с этим раньше? Или какие-то предложения?
Thx
обновление:
после перезагрузки - вот журналы:
** 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
7 ответов
необходимо указать IP (199.21.114.XX), запустив mongo 199.21.114.XX
.
в противном случае, если вы хотите, чтобы он слушал localhost, вы должны удалить bind_ip
настройки в файле config.
обновление Проверьте конфигурацию брандмауэра. Поскольку вы подключаетесь к внешнему IP, его можно настроить для блокировки, даже из локального окна.
я решил эту проблему, комментируя следующую строку в моем .
# Listen to local interface only. Comment out to listen on all interfaces.
#bind_ip = 127.0.0.1
вам нужно будет следовать этому изменению конфигурации с перезапуском процесса mongod.
sudo service mongod restart
у меня была такая же проблема только потому, что глупая ошибка.
сначала удалите файл 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
надеюсь, этот ответ поможет кому-то
по умолчанию выполняется mongo
консольная команда будет искать mongodb на вашем localhost, следовательно,127.0.0.1
IP, который является вашим локальным замыканием. Кроме того, конфигурация по умолчанию для mongod
должно быть доступно на localhost. Лучше сделать это таким образом, чтобы начать сейчас, если вы не включили auth. Убедитесь, что включена аутентификация или база данных работает открыто на общедоступном ip-адресе.
если вы хотите подключиться к хосту, отличному от localhost или конфигурации по умолчанию, вы do:
mongo <host>
следующие шаги могут помочь вам :
- открыть терминал и запустить "судо РМ /ВАР/Либ/в MongoDB/команду mongod.lock"
- Теперь запустите " судо команду mongod --ремонт "
- Теперь "судо начать mongodb"
- Теперь просто проверьте статус статуса mongodb"судо статус mongodb"
5 наконец, просто вызовите команду "монго"
in/etc / mongod.conf
и
bindIp: 127.0.0.1
to
bindIp: 0.0.0.0
Это все порты. Да, я знаю, что это рискованно, но я работаю по внутренней сети.
кстати закомментировать #bindIp: 127.0.0.1
не работает для меня, работает под Ubuntu 18.