Не удалось подключиться к серверу 127.0.0.1:27017
Я получаю следующую ошибку:
alex@alex-K43U:/$ mongo
MongoDB shell version: 2.2.0
connecting to: test
Thu Oct 11 11:46:53 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js:91
exception: connect failed
alex@alex-K43U:/$
вот что происходит, когда я пытаюсь запустить MongoDB:
* Starting database mongodb [fail]
Я уже пробовал mongo --repair
Я сделал chown и chmod to var, lib и data / db и log mongodb.
не знаю, что еще сделать. Есть предложения?
mongodb.журнал:
***** SERVER RESTARTED *****
Thu Oct 11 08:29:40
Thu Oct 11 08:29:40 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 08:29:40
Thu Oct 11 08:29:41 [initandlisten] MongoDB starting : pid=1052 port=27017 dbpath=/var/lib/mongodb 32-bit host=alex-K43U
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 08:29:41 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 08:29:41 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 08:29:41 [initandlisten]
Thu Oct 11 08:29:41 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 08:29:41 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 08:29:41 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 08:29:41 [initandlisten] options: { config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongodb.log" }
Thu Oct 11 08:29:41 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/var/lib/mongodb/journal"
**************
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Oct 11 08:29:41 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Oct 11 08:29:41 dbexit:
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 08:29:41 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 08:29:41 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 08:29:41 [initandlisten] shutdown: closing all files...
Thu Oct 11 08:29:41 [initandlisten] closeAllFiles() finished
Thu Oct 11 08:29:41 dbexit: really exiting now
EDIT:
Я снял замок, затем сделал ремонт mongod и получил эту ошибку:
Thu Oct 11 12:05:37 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
так что я сделал это с sudo:
alex@alex-K43U:~$ sudo mongod --repair
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Thu Oct 11 12:05:42
Thu Oct 11 12:05:42 [initandlisten] MongoDB starting : pid=5129 port=27017 dbpath=/data/db/ 32-bit host=alex-K43U
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Thu Oct 11 12:05:42 [initandlisten] ** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Thu Oct 11 12:05:42 [initandlisten] ** with --journal, the limit is lower
Thu Oct 11 12:05:42 [initandlisten]
Thu Oct 11 12:05:42 [initandlisten] db version v2.2.0, pdfile version 4.5
Thu Oct 11 12:05:42 [initandlisten] git version: f5e83eae9cfbec7fb7a071321928f00d1b0c5207
Thu Oct 11 12:05:42 [initandlisten] build info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_49
Thu Oct 11 12:05:42 [initandlisten] options: { repair: true }
Thu Oct 11 12:05:42 [initandlisten] Unable to check for journal files due to: boost::filesystem::basic_directory_iterator constructor: No such file or directory: "/data/db/journal"
Thu Oct 11 12:05:42 [initandlisten] finished checking dbs
Thu Oct 11 12:05:42 dbexit:
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close listening sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to flush diaglog...
Thu Oct 11 12:05:42 [initandlisten] shutdown: going to close sockets...
Thu Oct 11 12:05:42 [initandlisten] shutdown: waiting for fs preallocator...
Thu Oct 11 12:05:42 [initandlisten] shutdown: closing all files...
Thu Oct 11 12:05:42 [initandlisten] closeAllFiles() finished
Thu Oct 11 12:05:42 [initandlisten] shutdown: removing fs lock...
Thu Oct 11 12:05:42 dbexit: really exiting now
но все еще имея ту же проблему.
23 ответов:
журнал указывает, что mongodb завершается, потому что есть старый файл блокировки.
Если вы не работаете и не работали с журналированием, удалите файл блокировки, запустите repair и снова запустите mongodb.
Если вы работаете с включенным журналированием, см. соответствующие документы Mongo DB. Обратите внимание, что они говорят: "Если вы работаете с Журналированием, вы не должны делать ремонт для восстановления в согласованное состояние."Так, если вы вели дневник, то ремонт может сделали все еще хуже.
Step 1: Remove lock file. sudo rm /var/lib/mongodb/mongod.lock Step 2: Repair mongodb. sudo mongod --repair Step 3: start mongodb. sudo start mongodb or sudo service mongodb start Step 4: Check status of mongodb. sudo status mongodb or sudo service mongodb status Step 5: Start mongo console. mongo
ты
mongodпередmongo?я следовал инструкциям по установке mongodb от http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ и у меня была такая же ошибка, как и у вас, только когда я бежал
mongoперед фактическим запуском процесса mongo сmongod. Я думал, что установка mongodb также запустит его, но вам нужно запустить его вручную с помощьюmongodпрежде чем вы сделаете что-нибудь еще, что нужно mongodb.
Это потому, что процесс mongod это вниз, вы должны запустить команды ниже, чтобы получить процесс mongod:
sudo service mongodb stop sudo rm /var/lib/mongodb/mongod.lock sudo mongod --repair --dbpath /var/lib/mongodb sudo mongod --fork --logpath /var/lib/mongodb/mongodb.log --dbpath /var/lib/mongodb sudo service mongodb startнадеюсь, что это поможет вам.
Проверьте свободное место в файловой системе и увеличьте его, если его меньше. Это также может привести к тому, что монго не начнет. Проверьте /var/log/mongodb / mongodb.журнал.
ERROR: Insufficient free space for journal files Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Так что сначала вы должны удалить mongod.блокировка файла с помощью команды ниже
sudo rm /var/lib/mongodb/mongod.lockи затем перезапустите службу mongo, выполнив команду ниже
sudo service mongod restart
вы можете проверить с
netstat -anp | grep 27017чтобы увидеть, если порт уже используется другим процессом.
в windows запустите cmd от имени администратора:
создать папку:
mkdir c:\mongo\data\db
служба установки:
mongod.exe --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --dbpath c:\mongo\data\db --directoryperdb
Start MongoDB:
net start MongoDB
4.Начать Монго Шелл:
c:\mongo\bin\mongo.exeЭто решение отлично работает для меня
я следовал за доком в http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/.
после настройки и перезагрузки, выполнил
sudo service mongod startи получил... [FAILED].наконец-то я нашел это
mongodначали. Я думаю, чтоyum installдобавил его в автозапуск.чтобы проверить, если ваш
mongodработает:service mongod status.надеюсь, что это может помочь кому-то есть такая же проблема.
после частых попыток, наконец, я получил, чтобы устранить проблему...
Step 1: ps aux | grep mongo Step 2: sudo rm /var/lib/mongodb/mongod.lock Step 3: sudo mongod --repair Step 4: mongo
эта ошибка может быть вызвана настройкой IP привязки MongoDB. Вы можете проверить конфигурационный файл MongoDB по
$ sudo vi /etc/mongodb.confВ моем случае привязка IP устанавливается на адрес интрасети сервера, как и ниже:
bind_ip = 10.10.1.14 #port = 27017поэтому я дал монго параметр IP для подключения к оболочке по типу:
$ mongo 10.10.1.14не забудьте перезапустить службу mongodb, если вы изменили конфигурацию.
у меня есть mongo версии 3.2.1 и пришлось удалить файл блокировки из
/data/db/и после этого побежалmongodи это началось успешно.>rm /data/db/mongod.lock >mongod
для дальнейшего использования,выполните следующие действия, чтобы избежать подобных ошибок:
1.Скачать MondoDB https://www.mongodb.com/
2.Откройте терминал и компакт-диск в Ваших загрузках папка или любая другая папка, которую вы сохранили для загрузки mondodb (убедитесь, что вы извлекли папку mongodb перед тем, как компакт-диск в нее)
cd Downloads3.Переместить mongodb в ваш usr / local путь
sudo mv mongodb-osx-... /usr/local/mongodb4.cd в вашу локальную папку
cd /usr/local/mongodb5.сделайте новый каталог
sudo mkdir -p /data/db6.cd в новый каталог, только что созданный выше
cd /data/db7.дайте монго разрешения
sudo chown YourMacUserName /data/db8.Тогда идите / откройте ваш .файл
для этого выполните следующие действия:
В а новый терминал
1.
cd2.pwd3.ls -lпроверьте, если .файл появится в списке файлов на вашем терминале
если не создать -файл
создание .файл:
в терминале
сенсорный .файл
//пропустить этот шаг, если у вас уже есть .файл
Step8:
далее в терминале:
open .bash_profileи ваш файл bash что всплывает открыть добавить следующее:
MONGO_PATH=/usr/local/mongodb export PATH=$PATH:$MONGO_PATH/binа то сохранить.(Папка Сохранить или команда S / CMD+S)
Шаг 9: назад в ваш терминал:
source .bash_profileтеперь открыть два терминала.Одна воля для вашего Мондо демон другое для вашего монго.
Терминал 1: в вашем терминале тип: mongod
mongodbтерминал 2:
mongoтакже убедитесь, что вы не делаете следующую ошибку опечатки при запуске mongod в вашем терминале: это некорректно
mongo dвыдает следующее : не удалось подключиться к 127.0.0.1: 27017, in(проверка сокета на ошибку после опроса), причина: соединение отказано
этот правильно:
mongod(между словами mongo и d не должно быть пробела.. mondod
наконец, всегда имейте в виду, что вы должны запустите mondod, прежде чем запускать mongo на своих терминалах.
после удаления mongod.блокировка, которая была внутри каталога данных в моей ОС windows, она все еще показывала то же сообщение об ошибке. Мне пришлось запустить mongod с --dbpath, чтобы команда mongo выполнялась без ошибок.
хотя ответы получены, я хотел бы обсудить о сетевых ошибках в
MongoDB.
установка безопасных проблем записи не является полным методом доказательства, чтобы убедиться, что мы в безопасности. Предположим, что
w=1&j=trueустановлены, что делать, если подтверждение записи не получено от сервера? Ну, скорее всего, этого не произошло, но это могло произойти. Причина, по которой это могло произойти, заключается в том, что есть сетевые ошибки - есть причины, по которым мы можем не получить положительного ответа. Таким образом, мы можем отправить запрос из приложения через драйвер языка выбора.mongodможет успешно завершить его, а затем может быть сброс TCP, и сеть на самом деле может получить сброс таким образом, что мы никогда не получим ответа. Таким образом, мы могли бы получить ошибку и на ошибку, мы могли бы предположить, что мы получили ошибку. Этого не случилось, но может случиться.для вставки, можно защитить от него. Это возможно, потому что если мы позволим драйверу создать
_idи мы делаем вставку-тогда мы могли бы сделать эту вставку несколько раз, и это будет какой-то вред. Потому что, если мы сделаем это 1 st время и мы получаем ошибку, и мы не уверены, завершена ли эта вставка, потому что это сетевая ошибка, тогда мы могли бы просто сделать это снова. И при условии, что мы выполним его снова, tyr выполнить его с точным_id. В худшем случае мы получим дубликат ключевой ошибки при попытке вставлять ее.однако, обновление, где возникает проблема. Особенно, обновление, которое не является элементом мощным, что, например, включало в себя . Итак, мы говорим базе данных увеличить определенное поле. Ну в этом случае, если мы получаем сетевую ошибку, и мы не знаем, произошло ли обновление. Теперь, возможно, мы знаем достаточно о значениях, которые мы можем проверить с ними, что обновление произошло, и это нормально. Но если мы не знаем начальное значение в база данных для этого поля, то это не возможно для нас, чтобы знать, произошло ли это или нет в случае ошибки сети. Такого рода проблемы чрезвычайно редки с тонкой сетью.
и если нам действительно нужно избежать этого любой ценой, то нам нужно включить все наши обновления в вставки, прочитав полное значение документа из базы данных, а затем потенциально удалить его и вставить его снова или просто вставить новый.
причины, почему приложение может получить сообщение об ошибке обратно, даже если запись была успешной:
- сетевое TCP-соединение между приложением и сервером было сброшено после получения сервером записи, но до отправки ответа.
- The
MongoDBсервер завершает работу между получением записи и ответом на нее.- сбой сети между временем записи и временем, когда клиент получает ответ на запись.
добавление Бина в путь в переменных среды помогло.
путь установки GOTO и скопируйте ../ bin к переменным пути в переменных среды в Windows
чт 11 октября 12: 05: 42 [initandlisten] не удается проверить файлы журнала из-за: boost:: filesystem::basic_directory_iterator конструктор: нет такого файла или каталога:"/data/db / journal" Чт окт 11 12: 05: 42 [initandlisten] закончил проверку dbs
в этой строке нет такого файла или каталога Итак, создайте папку / data / db на корень попробуйте "mongod" надеюсь, что это будет работать
тип windows+r и введите следующее
услуги.msc
запуск MongoDB
теперь введите "mongo" в cmd в соответствующем пути, где монго.exe присутствует, он начнет работать.
1.Создать новую папку на диске d D:/data/db
2.Открыть терминал ВКЛ D:/data/db
3.Введите mongod и введите.
4.Монго введите и введите.
и ваш mongodb strated............
просто запустить
mongod --repairсC:\Program Files\MongoDB\Server.0\binвот документ https://docs.mongodb.com/manual/tutorial/recover-data-following-unexpected-shutdown/


Comments