когда я устанавливаю mongodb в моем ubuntu, я пытаюсь:./mongo показать эту ошибку:
couldn't connect to server 127.0.0.1 shell/mongo.js
так что я могу сделать,
спасибо
когда я устанавливаю mongodb в моем ubuntu, я пытаюсь:./mongo показать эту ошибку:
couldn't connect to server 127.0.0.1 shell/mongo.js
так что я могу сделать,
спасибо
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Обратите внимание на следующее:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Вот и все, иногда, требуется немного времени, чтобы начать mongo после выполнения этих операций.
Попытка запуска $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
На самом деле это не ошибка... Что происходит здесь, так это то, что 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... В случае, если вам не нужно настраивать некоторые слова в зависимости от используемого дистрибутива;)
Вам нужно удалить файл блокировки mongod.lock
или /var/lib/mongodb/mongod.lock
на ubuntu, тогда вам сначала нужно запустить mongod.exe
или service mongodb start
на ubuntu, затем запустите mongo.exe
или mongo
на ubuntu.
У меня такая же проблема, когда я пытался установить монго. Я получил ошибку как,
Ошибка
"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
Спасибо
Либо ваш монго не работает (проверьте с помощью команды "ps" ), либо он прослушивает какой-то внешний IP-адрес, а не локальный. Поэтому сначала проверьте список процессов, если "mongod" запущен. Если да, установите флажок "netstat -nap" для соответствующего порта.
Конечно, вы можете запустить mongod на консоли вручную или даже просмотреть файл журнала mongod (если есть один настроенный... в зависимости от того, как вы установили mongod).
Сначала вы должны убедиться, что все файлы и каталоги в вашей/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
Сначала запустите свой сервер mongo на
Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
Затем откройте другое окно терминала и откройте оболочку
Users-MacBook-Pro:csv1 Admin$ mongo
Также проверьте, что ваш корневой раздел имеет достаточно места для запуска 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...
В Ubuntu попробуйте следующее:
sudo invoke-rc.d mongodb start
Это может быть комбинация проблемы $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
Я решил эту проблему на ubuntu 12.04 следующими шагами:
1) sudo rm/var/log/mongodb
2) sudo rm/var/lib/mongodb
3) Я удалил монго и снова установил его
4) sudo service mongodb restart
и все хорошо