Не удалось подключиться к серверу 127.0.0.1 shell/mongo.js
когда я устанавливаю mongodb в моем ubuntu, я пытаюсь:./mongo показать эту ошибку:
couldn't connect to server 127.0.0.1 shell/mongo.js
так что я могу сделать,
спасибо
Ответы
Ответ 1
- Вручную удалите файл блокировки:
sudo rm /var/lib/mongodb/mongod.lock
- Запустите ремонт script:
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Обратите внимание на следующее:
- Вы должны запустить эту команду в качестве пользователя mongodb. Если вы запустите его как root,
то root будет владеть файлами в /var/lib/mongodb/, которые необходимы для
запустите демон mongodb и, следовательно, когда демон попытается запустить
позже, как пользователь mongodb, у него не будет разрешений на запуск. В
в этом случае вы получите эту ошибку: невозможно создать/открыть файл блокировки
для lockfilepath:/var/lib/mongodb/mongod.lock errno: 13 Разрешение
отказано, завершено.
- В Ubuntu вы должны указать файл конфигурации /etc/mongodb.conf
используя флаг -f. В противном случае он будет искать файлы данных в
неправильное место, и вы увидите следующую ошибку: dbpath (/data/db/)
не существует, завершение.
Ответ 2
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Вот и все, иногда, требуется немного времени, чтобы начать mongo после выполнения этих операций.
Ответ 3
Попытка запуска $mongod
Если вы получите ошибку en, например
MongoDB shell version: 2.0.5
connecting to: test
Fri Jun 1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun 1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun 1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun 1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun 1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun 1 11:24:47 [initandlisten] options: {}
Fri Jun 1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun 1 11:24:47 dbexit:
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun 1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun 1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun 1 11:24:47 dbexit: really exiting now
Затем вы столкнулись с основной ошибкой запуска, которая довольно распространена.
По умолчанию mongod будет пытаться использовать /data/db для своих файлов базы данных, который в этом случае не существует.
Вы не можете запустить
mongo
пока вы не обработаете
mongod.
Попробуйте создать эти каталоги и убедитесь, что они доступны для записи тем же пользователем, который запускает процесс mongod.
** См. аналогичный вопрос - Получение ошибки, "Ошибка: не удалось подключиться к серверу 127.0.0.1 shell/mongo.js" и при попытке запустить mongodb на mac osx lion
Ответ 4
На самом деле это не ошибка... Что происходит здесь, так это то, что Mongo полагается на демона, чтобы запустить локальный сервер базы данных, поэтому, чтобы "запустить" сервер mongo в вашей оболочке, вам нужно начать сначала служба монго.
Для Fedora Linux (который я использую Distro). Вам нужно выполнить следующие команды:
1 sudo service mongod start
2 mongo
И вот оно! сервер будет запущен. Теперь, если вы хотите, чтобы сервис Mongo
Чтобы начать, когда система загружается, вам нужно запустить:
sudo chkconfig --levels 235 mongod on
И это все! Если вы это сделаете, теперь в оболочке вам просто нужно ввести mongo, чтобы
для запуска сервера, но в значительной степени это проблема, вы должны сначала запустить SERVICE, а затем SERVER:)
P.S. Команды, которые я опубликовал, могут работать и с другими дистрибутивами linux, а не только в Fedora... В случае, если вам не нужно настраивать некоторые слова в зависимости от используемого дистрибутива;)
Ответ 5
Вам нужно удалить файл блокировки mongod.lock
или /var/lib/mongodb/mongod.lock
на ubuntu, тогда вам сначала нужно запустить mongod.exe
или service mongodb start
на ubuntu, затем запустите mongo.exe
или mongo
на ubuntu.
Ответ 6
У меня такая же проблема, когда я пытался установить монго. Я получил ошибку как,
Ошибка
"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"
Решение:
Сначала установите mongod, используя:
sudo apt-get install mongodb-server
Затем введите
mongod --dbpath /mongo/db
Тогда
sudo rm /var/lib/mongodb/mongod.lock
Тогда
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Спасибо
Ответ 7
Либо ваш монго не работает (проверьте с помощью команды "ps" ), либо он прослушивает какой-то внешний IP-адрес, а не локальный. Поэтому сначала проверьте список процессов, если "mongod" запущен. Если да, установите флажок "netstat -nap" для соответствующего порта.
Конечно, вы можете запустить mongod на консоли вручную или даже просмотреть файл журнала mongod
(если есть один настроенный... в зависимости от того, как вы установили mongod).
Ответ 8
Сначала вы должны убедиться, что все файлы и каталоги в вашей/var/lib/mongodb/папке (или в зависимости от того, какая папка dbpath указывает) принадлежат пользователю mongodb и группе mongodb.
cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory
(Замените имя файла и каталог соответствующими именами)
Затем вы можете удалить блокировку, восстановить базу данных и перезапустить демон, как уже упоминалось ранее:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Ответ 9
Сначала запустите свой сервер mongo на
Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
Затем откройте другое окно терминала и откройте оболочку
Users-MacBook-Pro:csv1 Admin$ mongo
Ответ 10
Также проверьте, что ваш корневой раздел имеет достаточно места для запуска mongod.
df -h /
Вы увидите smth, как это на mongod запуска:
Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit:
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...
Ответ 11
В Ubuntu попробуйте следующее:
sudo invoke-rc.d mongodb start
Ответ 12
Это может быть комбинация проблемы $PATH и Permission.
Попробуйте выполнить следующие шаги:
Обновите переменную $PATH, чтобы указать файл bin MongoDB. В моем случае brew установите MongoDB в эту папку:
/usr/local/Cellar/mongodb/2.4.6/
Чтобы обновить переменную $PATH, выполните следующие действия:
$ sudo vi /etc/paths
Затем нажмите 'i, чтобы вставить текст в Vi и добавьте свой путь MongoDB в конец файла путей и перезапустите терминал.
/usr/local/Cellar/mongodb/2.4.6/bin
Используйте "Esc: w q для сохранения и выхода из редактора Vi.
Используйте эхо, чтобы отобразить вашу переменную пути:
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin
Теперь попробуйте проверить версию Mongo, если вы следуете, то вы на правильном пути!
$ mongo --version
MongoDB shell version: 2.4.6
Теперь нам нужно создать каталог базы данных. Я использовал местоположение "/data/db по умолчанию", предложенное в документах MongoDB. Я также создал каталог журналов, чтобы избежать любых разрешений, в то время как Mongo пытается создать любые журналы. Измените владельца и сделайте это.
$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data
Теперь мы создадим конфигурационный файл по умолчанию для MongoDB, который будет предоставлен в первый раз, когда мы запустим команду mongod. Теперь я также хотел бы отметить, что "mongod запустит сервис, который будет прослушивать входящие подключения к данным. Это похоже на запуск" $service mysqld start.Lets" и создание файла конфигурации. Имейте в виду, что я создал очень простой файл конфигурации. Тем не менее, вы можете добавить много других переменных для настройки MongoDB. Это первый раз, когда я играю с MongoDB, поэтому я просто знаю столько, сколько я читал в документах MongoDB! Я создал mongodb.conf.
$ sudo vi /etc/mongodb.conf
Добавьте следующее:
fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true
Обратите внимание, что порт по умолчанию для сервера MongoDB - 27017. Используйте свой собственный путь для dbpath и logpath, который вы создали на шаге 5. Не забудьте закрыть и сохранить файл conf.
Теперь мы все настроены на запуск нашего сервиса MongoDB. Откройте два экземпляра Terminal.In Terminal 1, введите:
$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting
Если вы получаете сообщение выше, то знайте, что вы успешно запустили службу Mongod.
Теперь, чтобы подключиться к нему, в терминале 2 введите следующее:
$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>
Игнорировать предупреждения, но вы успешно подключены к тестовой базе данных! Круто!
Это все. Я применил это решение, когда я впервые попытался установить копию MongoDB на моем Mac. Посмотрите, поможет ли вам это.
Для подробного сообщения вы можете перейти сюда - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094.
Надеюсь, это поможет!
Cheers,
Chinmay
Ответ 13
Я решил эту проблему на ubuntu 12.04 следующими шагами:
1) sudo rm/var/log/mongodb
2) sudo rm/var/lib/mongodb
3) Я удалил монго и снова установил его
4) sudo service mongodb restart
и все хорошо