mongo-не удалось подключиться к серверу 127.0.0.1:27017
Я прихожу из riak и redis, где у меня никогда не было проблем с запуском этих служб или взаимодействием.
Это распространенная проблема с монго, и я довольно невежествен. Перезапуск не помогает.Я новичок в монго.
mongo
MongoDB shell version: 2.2.1
connecting to: test
Fri Nov 9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
это то, что я вижу в журналах.
now open)
Fri Nov 9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov 9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov 9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov 9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov 9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov 9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov 9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov 9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov 9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov 9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov 9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov 9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov 9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn
28 ответов:
эта ошибка-это то, что вы увидите, если оболочка mongo не смогла поговорить с сервером mongod.
это может быть потому, что адрес был неправильным (хост или IP) или что он не работал. Следует отметить, что предоставленная трассировка журнала не охватывает "Пт 9 ноября 16:44: 06" вашего
mongo timestamp
.вы можете:
- укажите аргументы командной строки (если таковые имеются), используемые для запуска mongod process
- создайте файл журнала активности запуск mongod, а также журналы во время попытки запуска оболочки mongo?
- подтвердите, что ваш процесс mongod запускается на том же самом машина как раковина монго?
обычно это вызвано тем, что вы не запустили процесс mongod, прежде чем пытаться запустить оболочку mongo.
запустить сервер mongod
mongod
откройте другое окно терминала
запустить монго оболочки
mongo
решены.
эта проблема может быть решена с помощью указанных ниже 4 шагов
1) "удалить".заблокировать файл
sudo rm /var/lib/mongodb/mongod.lock
2) ремонт mongodb
mongod –repair
3) запустите сервер mongod
sudo service mongod start
4) запустите клиент mongo
mongo
для получения более подробной информации взгляните на http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/
этот метод работает только, если вы хотите восстановить файлы данных без сохранения исходных файлов
чтобы найти, где вы dbpath проживает- vim / etc / mongodb.conf
проверка dbpath=
(У меня есть dbpath=/var/lib / mongodb)
по умолчанию: / data / db/
типичные местоположения включают: /srv /mongodb,/var/lib /mongodb или/opt / mongodb .
заменить /var / lib / mongodb С dbpath
sudo rm /var/lib/mongodb/mongod.lock sudo mongod --dbpath /var/lib/mongodb/ --repair sudo mongod --dbpath /var/lib/mongodb/ --journal
(убедитесь, что вы оставили терминал работает, в котором вы бежали выше строк, не нажимайте "Ctrl+c" или выйти из него.) Введите команду для запуска mongo теперь в другом окне.
надеюсь, что это работает для вас ! для тех, кто хочет восстановить файлы данных при сохранении исходных файлов монго восстановить
убедитесь, что ваш монго работает. Я исправил эту проблему, пытаясь восстановить mongodb, там я обнаружил, что каталог, необходимый для запуска БД, не был создан. Он показывает эту ошибку
тип:
mongod
, Он покажет ошибку
exception in initAndListen: 29 Data directory /data/db not found., terminating
ошибка происходит потому, что dbpath
/data/db/
(настройки по умолчанию) не существует. Вам нужно создать папку данных и установить для нее разрешение.затем я создаю папку в своей системе с помощью команда
sudo mkdir-p / data / db/ и судо Чаун
id -u
/ data / dbзатем я снова запускаю mongo, и это сработало.
в моем случае:
сначала я открываю файл config
sudo vi /etc/mongodb.conf
комментарий IP и порт, как это
#bind_ip = 127.0.0.1 #port = 27017
затем перезапустите mongodb
sudo service mongodb restart sudo service mongod restart
наконец, это работа: D
finn@Finn ~ $ mongo MongoDB shell version: 2.4.9 connecting to: test > exit
немного поздно с ответом, но я столкнулся с той же проблемой
Ниже приведены шаги, которые помогли мне.
- перейти к C:\
- создать папку "данные"
- в папке" данные "создать папку" БД"
- открыть терминал (CMD) - > перейти к примеру:"
c:\MongoDB\Server.4\bin
"- введите mongod = > это запустит сервер mongo (оставьте его открытым)
запуск с помощью графического интерфейса, EX "robomongo"
или
открыть новый терминал (CMD) - > перейти к примеру:"
c:\MongoDB\Server.4\bin
" введите команду "mongo"
Если все вышеперечисленное решение не работает: перейдите в сервис (
start>search>services
) и запустить службу mongodb. Затем в командной строке после перехода в bin введите:/>mongo
чтобы подключиться к mongo, мы должны сначала запустить службы "mongod". следующий вывод вы можете увидеть:
$ mongod 2017-03-05T00:31:39.055+0530 I CONTROL [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit host=Prabhu-Nandans-Mac.local 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] db version v3.4.2 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2k 26 Jan 2017 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] allocator: system 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] modules: none 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] build environment: 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] distarch: x86_64 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] target_arch: x86_64 2017-03-05T00:31:39.056+0530 I CONTROL [initandlisten] options: {} 2017-03-05T00:31:39.056+0530 W - [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty. 2017-03-05T00:31:39.057+0530 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'. 2017-03-05T00:31:39.057+0530 W STORAGE [initandlisten] Recovering data from the last clean checkpoint. 2017-03-05T00:31:39.057+0530 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0), 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] 2017-03-05T00:31:39.620+0530 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 2017-03-05T00:31:39.643+0530 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data' 2017-03-05T00:31:39.643+0530 I NETWORK [thread1] waiting for connections on port 27017 2017-03-05T00:31:40.008+0530 I FTDC [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK 2017-03-05T00:32:03.832+0530 I NETWORK [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open) 2017-03-05T00:32:03.833+0530 I NETWORK [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } } 2017-03-05T00:32:08.376+0530 I - [conn1] end connection 127.0.0.1:49806 (1 connection now open)
после этого откройте другой терминал и просто введите "mongo".
ниже вывод вы можете увидеть:
$ mongo MongoDB shell version v3.4.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.2
ваша проблема решена :)
другое решение, которое разрешило эту же ошибку для меня, хотя это может быть только в том случае, если вы получаете доступ к mongo (локально) через SSH-соединение через виртуальную машину (по крайней мере, это моя настройка), и может быть проблема с переменной среды linux:
export LC_ALL=C
кроме того, у меня было больше успеха при запуске mongo в качестве службы демона, а затем при запуске службы sudo, я понимаю, что это использует аргументы командной строки, а не файл конфигурации, поэтому, вероятно, это проблема с моим конфигурационный файл:
mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin
создать папку C:data/db если он еще не существует на вашем компьютере. Оказывается, MongoDB требует наличия этой структуры папок "data / db" для запуска. Надеюсь, это кому-то поможет.
причиной для меня был пробел-запустите это в консоли:
df -h
или более конкретно:
du -hs /var/lib/mongodb/
чтобы проверить его на диске. Если это ~ 99% - просто очистите место и повторите попытку!
во-первых, перейти к
c:\mongodb\bin>
чтобы включить mongoDB, если вы видите в консоли, что mongo прослушивает порт 27017, это нормально Если нет, закройте консоль и создайте папкуc:\data\db
и снова запустить mongod
это произошло сегодня со мной и я решил это следующим образом.
машина: я использую машину Windows 10 и загрузил последнюю версию MongoDB - Community edition.
Итак, проблема была в том, что у меня не было
C:\data\db
создать.без создания
C:\data\db
, Я открыл терминал CMD и запустил базу данных с помощью в терминалеC:\YourInstallationPath\bin>mongod
и когда я выстрелил
mongo
команда тогда я получал проблему.Twist, я создал необходимые папки, но все еще получал проблему. И это потому, что сервер mongo уже был запущен. Чтобы исправить это, я загорелся
mongod
команда снова, и она автоматически ссылается наC:\data\db
.другие пользователи предложили добавить
C:\data\db
но не говорил о выполненииmongod
опять же, что именно это решило мою проблему.
У меня также есть та же проблема, то я получил фиксированной эти две строки кода. Надеюсь, это поможет
systemctl start mongod systemctl enable mongod
удалить mongod.файл блокировки. И выполнить "команду mongod -ремонт". uninstall / reinstall mongod service исправил эту проблему для меня.
спасибо.
У меня была такая же ошибка при подключении к Mongo на AWS EC2 . Вот что решило ее https://serverfault.com/a/347159/62381 Удалите bind_ip из файла конфигурации
эта работа мне:-
в Mongo 3.2 для окна, вы должны запустить службу Mongodb. Итак, запустите
Command Prompt as Administrator
затем net start MongoDB
наконец - то я получил это простым способом..
откройте терминал и перейдите в расположение mongodb. В моем случае это
e:\mongodb\bin>
и введите следующую команду и нажмите enter..
mongod --config e:\mongodb\mongo.config
откройте другой терминал и запустите mongodb с помощью
mongo.exe
вот и все.. вы можете использовать монго
Это старый вопрос, но, как новичок, я решил добавить, что (используя Webstorm) вам нужно нажать на Mongo Explorer (вкладка в правой части окна). Оттуда:
-Нажмите кнопку Настройки. -Нажмите кнопку Обзор (выглядит как кнопка с "..." на нем.) - Перейдите в раздел Program Files > MongoDB > Server > 3.4 > bin > mongo.exe (ваша версия может отличаться от 3.4) - После этого нажмите на зеленый знак плюс справа. Откроется окно - Введите имя в слот" Label". -Щелчок применять.
теперь вы должны быть подключены. Ввода "mongod" в терминале недостаточно. Вы также должны сделать вышеуказанные шаги.
мои извинения заранее тем из вас, кто не использует Webstorm! Не уверен в шагах с использованием других IDE.
Если U установить с помощью brew (на osx) первый запуск
sudo mkdir /data/db
запустите Демон mondoDB, введяmongod
(оставьте его открытым), а затем запустить монго путем вводаmongo
в новой вкладке терминала
просто создайте папку с именем " данные "на диске C и внутри папки данных создайте другую папку с именем"db". Затем выполните команду mongod.exe:)
во-первых, вы должны начать mongod сервер, то после того, как в другом терминале вы должны начать монго оболочки.
для запуска, сервер монго
1. Если вы путь путь по умолчанию (data/db) простой уволен mongod в терминале
2. Если ваш путь не data / db затем вы командуете как следовать: команду mongod --dbpath здесь ваш путь приходит' .
для запуска оболочки mongo, Просто уволили монго в другой терминал
Если вы получили это ожидание соединения на порту 27017, то ваш монго успешно стартовал.
надеюсь, вы можете получить мою точку зрения
Если все решение выше не работает, возможно, то это может быть один, чтобы помочь. Где-то вниз по линии вы, возможно, сделали подключение к локальной базе данных mongodb через бродячие коробки.
- vagrant вверх, а затем ssh в вашу машину vagrant, в которой вы установили соединение с mongodb (vagrant ssh vagrant_box_name)
- закомментируйте строку bind_ip из /etc / mongod.conf с помощью # (sudo nano / etc / mongod.conf)
- перезапустите демон mongodb сервис (sudo service mongod restart) вот...
У меня была такая же проблема, я удалил E:\Mongo файлы данных\db\mongod.заблокируйте файл, чтобы он начал работать. проблема связана с неправильным выключением сервера. так что файл блокировки не является чистым.
шаги по решению этой проблемы на ОС Windows:
- удалить mongod.заблокировать файл от C:\Program файлы\MongoDB\Server\4.0\data
- нажмите на mongod в C:\Program файлы\MongoDB\Server\4.0\bin
- нажмите на монго в C:\Program файлы\MongoDB\Server\4.0\bin чтобы запустить оболочку mongodb
@shakthydoss ответ работал нормально один раз, но после второго вопроса.замка там не было, я просто создал пустой, и он работал нормально. Так что проверь, нет ли там твоего.
Если вы используете командную строку:
cd /var/lib/mongodb ls
"ls" будет перечислять все файлы в папке, если mongod.значит, замка там нет:
sudo touch mongod.lock
наконец-то
mongod –repair sudo service mongod start
Монго сервис должен работать нормально.