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
Это то, что я вижу в журналах.
- Выполнение запросов регулярного выражения с помощью pymongo
- Создайте ISODate с pyMongo
- Можете ли вы указать ключ для $ addToSet в Монго?
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
Эта ошибка является тем, что вы увидите, если shell mongo не сможет разговаривать с сервером mongod.
Это может быть связано с тем, что адрес был неправильным (хост или IP) или что он не был запущен. Следует отметить, что предоставленная трассировка журнала не охватывает «Fri Nov 9 16:44:06» вашей mongo timestamp
.
Ты можешь:
- Предоставьте аргументы командной строки (если они есть), используемые для запуска процесса mongod
- Предоставлять активность файла журнала с момента запуска mongod, а также журналы во время попытки запуска оболочки mongo?
- Подтвердите, что ваш процесс mongod запускается на том же компьютере, что и shell mongo?
Обычно это вызвано тем, что вы не запускали процесс mongod, прежде чем пытаться запустить оболочку mongo.
Запустить сервер mongod
mongod
Открыть другое окно терминала
Запустить оболочку манго
mongo
Решено.
Эта проблема может быть решена с помощью следующих 4 шагов
1) Удалите файл .lock
sudo rm /var/lib/mongodb/mongod.lock
2) ремонт монгодба
mongod –repair
3) запустите сервер mongod
sudo service mongod start
4) запустите клиента монго
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 /
Типичные местоположения include: / 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 сейчас в другом окне.
Надеюсь, что это работает для вас ! для тех, кто хочет восстановить ваши файлы данных, сохраняя при этом исходные файлы mongo recover
Убедитесь, что ваше монго работает. Я исправил эту проблему, пытаясь восстановить mongodb, там я обнаружил, что каталог, необходимый для запуска db, не был создан. Он показывает эту ошибку
Тип: mongod
, он покажет ошибку
exception in initAndListen: 29 Data directory /data/db not found., terminating
Ошибка возникает из-за того, что dbpath /data/db/
(default config) не существует. Вам нужно создать папку данных и установить для нее разрешение.
Затем я создаю папку в своей системе по команде
sudo mkdir -p / data / db / и sudo chown id -u
/ data / db
затем я снова запускаю монго, и это сработало.
В моем случае:
Сначала я открываю файл конфигурации
sudo vi /etc/mongodb.conf
Комментарий к этому IP и порту
#bind_ip = 127.0.0.1 #port = 27017
Затем перезапустите mongodb
sudo service mongodb restart sudo service mongod restart
Наконец, это работа: D
[email protected] ~ $ mongo MongoDB shell version: 2.4.9 connecting to: test > exit
Немного допоздна с ответом, но я столкнулся с той же проблемой
Ниже приведены шаги, которые помогли мне.
- Перейдите к C: \
- Создать папку «данные»
- В «данных» создайте папку «db»
- открытый терминал (CMD) -> перейти к EX: ”
c:\MongoDB\Server\3.4\bin
” - type in mongod => это запустит сервер mongo (оставьте его открытым)
Выполнить с помощью GUI, EX “robomongo”
Или
открыть новый терминал (CMD) -> перейти к EX: ” c:\MongoDB\Server\3.4\bin
” ввести команду “mongo”
Если все вышеперечисленное решение не работает: перейдите в сервис ( start>search>services
) и запустите службу mongodb. Затем в командной строке cmd, после перехода в bin, введите :/>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 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
Причиной для меня было пространство – запустите это в консоли:
df -h
или более конкретно:
du -hs /var/lib/mongodb/
чтобы проверить его использование диска. Если это ~ 99% – просто очистите место и повторите попытку!
Сначала перейдите в c:\mongodb\bin>
чтобы включить mongoDB, если вы видите на консоли, что mongo прослушивает порт 27017, это нормально. Если нет, закройте консоль и создайте папку c:\data\db
и запустите mongod again
Вы можете попробовать следующую команду:
sudo service mongod start
Это происходило со мной сегодня, и я решил это следующим образом.
Машина: Я использую машину Windows 10 и загружаю последнюю версию MongoDB – Community.
Итак, проблема была в том, что у меня не было C:\data\db
.
Без создания C:\data\db
я открыл терминал CMD и запустил базу данных, используя команду mongod
на терминале
C: \ YourInstallationPath \ Bin> mongod
И когда я уволил команду mongo
меня mongo
проблема.
Twist, я создал необходимые папки, но все еще возникал проблема. И это потому, что сервер mongo уже запущен. Чтобы исправить это, я снова mongod
команду mongod
и автоматически ссылался на C:\data\db
.
Другие пользователи предложили добавить C:\data\db
но не говорили о выполнении mongod
снова, что точно решило мою проблему.
У меня также есть такая же проблема, после чего я исправил эти две строки кода. Надеюсь, поможет
systemctl start mongod systemctl enable mongod
Удалите файл mongod.lock. И запустите «mongod -repair». удалите / переустановите службу mongod, исправили эту проблему для меня.
Благодарю.
У меня была такая же ошибка при подключении к Mongo на AWS EC2. Это решение https://serverfault.com/a/347159/62381 Удалить bind_ip из файла конфигурации
Это меня:
В Mongo 3.2 для windows вы должны запустить сервис Mongodb. Итак, запустите Command Prompt as Administrator
затем запустите MongoDB
Наконец, я понял, что это просто.
открыть терминал и перейти в местоположение монгодба. В моем случае это
e:\mongodb\bin>
и введите следующую команду и нажмите enter.
mongod --config e:\mongodb\mongo.config
Откройте другой терминал и запустите mongodb, используя
mongo.exe
Thats it .. вы можете использовать монго
Создайте папку C: data / db, если она еще не существует на вашем компьютере. Оказывается, MongoDB требует существования этой структуры папок ‘data / db’ для запуска. Я надеюсь, что это помогает кому-то.
Это старый вопрос, но, как новичок, я решил, что добавлю, что (используя Webstorm) вам нужно щелкнуть по Mongo Explorer (вкладка в правой части windows). Оттуда:
-Нажмите «Настройки». -Нажмите кнопку обзора (выглядит как кнопка с надписью «…»). -Go для программных файлов> MongoDB> Server> 3.4> bin> mongo.exe (ваша версия может отличаться от 3.4). После этого щелкните значок «зеленый плюс» справа. Откроется окно – введите имя в слот «Label». -Нажмите.
Теперь вы должны быть подключены. Ввод «mongod» в терминале недостаточно. Вы также должны выполнить вышеуказанные шаги.
Приносим извинения заранее тем, кто не использует Webstorm! Не уверены в действиях с помощью других IDE.
если u установить с помощью пивоварения (на osx), сначала запустить sudo mkdir /data/db
запустить mondoDB Daemon, набрав mongod
(оставьте его открытым), а затем запустите mongo, набрав mongo
на вкладке нового терминала
Просто создайте папку с именем «data» на диске C и внутри папки данных создайте другую папку с именем «db». Затем выполните mongod.exe 🙂
Во-первых, вам нужно запустить сервер mongod, а затем в другом терминале вы должны запустить оболочку mongo .
Для запуска, сервер mongo
1. Если вы используете путь по умолчанию (data / db), простейший обжиг mongod в терминале
2. Если ваш путь не является данным / db, тогда вы выполните команду, как показано ниже : mongod –dbpath «здесь ваш путь» .
Для запуска оболочки манго, просто выстрелил монго в другой терминал
Если вы ожидаете подключения к порту 27017 , ваше монго успешно начнется.
Надеюсь, вы можете получить мою точку зрения
если все вышеприведенное решение не сработает, возможно, это может помочь. Где-то по линии вы могли подключиться к локальной базе данных mongodb через бродячие коробки.
- а затем ssh в вашу бродячую машину, в которой вы установили связь с mongodb (vagrant ssh vagrant_box_name)
- закомментируйте строку bind_ip из /etc/mongod.conf, используя # (sudo nano /etc/mongod.conf)
- перезапустите службу демона mongodb (sudo service mongod restart) voila …
У меня была такая же проблема, я удалил файл E: \ Mongo Data Files \ db \ mongod.lock, так что он начал работать. проблема связана с неправильным отключением сервера. поэтому файл блокировки не является чистым.