Я прихожу из 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
Эта ошибка является тем, что вы увидите, если оболочка mongo не сможет разговаривать с сервером mongod.
Это может быть связано с тем, что адрес был неправильным (хост или IP) или что он не был запущен. Следует отметить, что предоставленная трассировка журнала не охватывает "Fri Nov 9 16:44:06" вашей mongo timestamp
.
Ты можешь:
Обычно это вызвано тем, что вы не запускали процесс mongod, прежде чем пытаться запустить оболочку mongo.
Запустить сервер mongod
mongod
Откройте другое окно терминала
Запустите оболочку mongo
mongo
sudo 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/
Типичные местоположения включают в себя:/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/
(настройка по умолчанию) не существует. Вам нужно создать папку данных и установить для нее разрешение.
Затем я создаю папку в своей системе командой
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
finn@Finn ~ $ mongo
MongoDB shell version: 2.4.9
connecting to: test
> exit
Немного допоздна с ответом, но я столкнулся с той же проблемой
Ниже приведены шаги, которые помогли мне.
c:\MongoDB\Server\3.4\bin
" Запуск с использованием 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".
После вывода вы можете увидеть:
$ mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2
Ваша проблема решена:)
Я пользователь Windows, и я установил MongoDB в ноябре 2018 года, и я не хотел настраивать каталоги данных /db. Но через несколько дней, когда я открылся, появилось сообщение об ошибке:
MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed
Затем я попытался исправить все вышеупомянутые ответы и не работал. Когда я попытался запустить mongod, он сказал:
MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit host=bla
Я попытался изменить путь db (к программным файлам) через файловую систему, а также использовать cmd, но они не работали.
Решение, которое сработало для меня:
Открыл вкладку " Диспетчер задач" (ctrl + shift + esc
) → Services и появилась строка MongoDB с остановленным статусом. Затем я щелкнул правой кнопкой мыши и нажал кнопку запуска, и все работает отлично :).
@shakthydoss ответ работал нормально один раз, но после второй проблемы.lock не было, я просто создал пустой, и он работал нормально. Поэтому проверьте, нет ли у вас.
Если вы используете командную строку:
cd /var/lib/mongodb
ls
"ls" перечисляет все файлы в папке, если mongod.lock не существует, то:
sudo touch mongod.lock
Наконец, запустите команду.
mongod –-repair
sudo service mongod start
Служба Mongo должна работать нормально.
У меня также есть такая же проблема, после чего я исправил эти две строки кода. Надеюсь, поможет
systemctl start mongod
systemctl enable mongod
Это происходило со мной сегодня, и я решил это следующим образом.
Машина: Я использую машину 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
снова, что точно решило мою проблему.
Вы можете попробовать следующую команду:
sudo service mongod start
Сначала перейдите в c:\mongodb\bin>
, чтобы включить mongoDB, если вы видите на консоли, что mongo прослушивает порт 27017, это нормально
Если нет, закройте консоль и создайте папку c:\data\db
и снова запустите mongod
Причиной для меня было пространство - запустите это в консоли:
df -h
или более конкретно:
du -hs /var/lib/mongodb/
чтобы проверить его использование на диске. Если это ~ 99% - просто очистите некоторое пространство и повторите попытку!
Создайте папку C: data/db, если она еще не существует на вашем компьютере. Оказывается, MongoDB требует существования этой структуры папок 'data/db' для запуска. Надеюсь, это поможет кому-то.
Другое решение, которое разрешило эту ошибку для меня, хотя это может быть только в том случае, если вы получаете доступ к mongo (локально) через SSH-соединение через виртуальную машину (по крайней мере, мою настройку) и может быть конкретной средой Linux проблема с переменной:
export LC_ALL=C
Кроме того, у меня было больше шансов запустить mongo в качестве службы демона, а затем запустить sudo, я понимаю, что это использует аргументы командной строки, а не файл конфигурации, поэтому, вероятно, это проблема с моим конфигурационным файлом:
mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin
Шаги для решения этой проблемы в ОС Windows:
У меня была такая же проблема, я удалил файл E:\Mongo Data Files\db\mongod.lock, так что он начал работать. проблема связана с неправильным отключением сервера. поэтому файл блокировки не является чистым.
если все вышеприведенное решение не сработает, возможно, это может помочь. Где-то по линии вы могли подключиться к локальной базе данных mongodb через бродячие коробки.
Во-первых, вам нужно запустить сервер mongod, а затем в другом терминале вы должны запустить оболочку mongo.
Для запуска, сервер mongo
1. Если вы используете путь по умолчанию (data/db), простейший обжиг mongod в терминале
2. Если ваш путь не является данным /db, тогда вы командуете следующим образом: mongod --dbpath "здесь ваш путь".
Для запуска оболочки манго, просто выстрелил монго в другой терминал
Если вы ожидаете подключения к порту 27017, ваше монго успешно начнется.
Надеюсь, вы можете получить мою точку зрения
Просто создайте папку с именем "data" на диске C и внутри папки данных создайте другую папку с именем "db". Затем выполните mongod.exe :)
если u устанавливается с помощью brew (по osx)
первый запуск sudo mkdir /data/db
запустите mondoDB Daemon, набрав mongod
(оставьте его открытым), а затем
запустите mongo, набрав mongo
в новой вкладке терминала
Это старый вопрос, но, как новичок, я решил, что добавлю, что (используя Webstorm) вам нужно щелкнуть по Mongo Explorer (вкладка в правой части окна). Оттуда:
-Нажмите настройки. -Нажмите кнопку обзора (выглядит как кнопка с надписью "..." ). -Go для программных файлов > MongoDB > Server > 3.4 > bin > mongo.exe(ваша версия может отличаться от 3.4) -После этого, щелкните зеленый знак плюса справа. Откроется окно -Введите имя в слоте "Label". -Нажмите "Применить".
Теперь вы должны быть подключены. Ввод "mongod" в терминале недостаточно. Вы также должны выполнить вышеуказанные шаги.
Извиняюсь заранее тем, кто не использует Webstorm! Не уверены в действиях с помощью других IDE.
Наконец, я понял, что это просто.
откройте терминал и перейдите в местоположение mongodb. В моем случае это
e:\mongodb\bin>
и введите следующую команду и нажмите enter.
mongod --config e:\mongodb\mongo.config
Откройте другой терминал и запустите mongodb, используя
mongo.exe
Вот оно.. вы можете использовать mongo
Эта работа мне: -
В Mongo 3.2 для окна вы должны запустить сервис Mongodb. Итак, запустите Command Prompt as Administrator
, затем net start MongoDB
У меня была такая же ошибка при подключении к Mongo на AWS EC2. Именно это и решило https://serverfault.com/a/347159/62381 Удалите bind_ip из файла конфигурации
Удалите файл mongod.lock. И запустите "mongod -repair". удалите/переустановите службу mongod, исправили эту проблему для меня.
Спасибо.
sudo systemctl start mongodb
### start mongodb Server
sudo systemctl status mongodb
### running status of MongoDB server