когда я настраиваю 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
так что я могу сделать ,
Благодарность
mongod
первым
Ответы:
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
Вот и все, иногда требуется некоторое время, чтобы запустить монго после выполнения этих операций.
Mon Aug 22 11:28:17.919 Can't specify both --journal and --repair options.
Пробуем запустить $ mongod
Если вы получаете сообщение об ошибке, например
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 в вашей оболочке, вы должны запустить службу mongo первый.
Для Fedora Linux (это тот дистрибутив, который я использую) Вам необходимо выполнить следующие команды:
1 sudo service mongod start
2 mongo
И вот оно! сервер будет работать. Теперь, если вы хотите, чтобы служба Mongo запускалась при загрузке системы, вам нужно запустить:
sudo chkconfig --levels 235 mongod on
И это все! Если вы это сделаете, теперь в оболочке вам просто нужно ввести mongo , чтобы запустить сервер, но это почти все, проблема в том, что вам нужно сначала запустить СЕРВИС, а затем СЕРВЕР :)
PS Команды, которые я опубликовал, могут работать и в других дистрибутивах Linux, а не только в Fedora ... На всякий случай, возможно, вам придется настроить некоторые слова в зависимости от используемого вами дистрибутива;)
sudo service mongodb start
У меня такая же проблема возникла при попытке установить mongo. Я получил ошибку как,
ошибка
"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
Спасибо
Вам нужно удалить файл блокировки mongod.lock
или /var/lib/mongodb/mongod.lock
на ubuntu, затем вам нужно сначала запустить mongod.exe
или service mongodb start
на ubuntu, затем запустить mongo.exe
или mongo
на ubuntu.
.exe
файлы.
Либо ваш mongod не запущен (проверьте с помощью команды «ps»), либо он прослушивает какой-то внешний IP-адрес, а не localhost. Поэтому сначала проверьте список процессов, запущен ли 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
sudo -u mongodb mongod -f /etc/mongod.conf --repair
в Ubuntu 14.
Сначала запустите свой сервер 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 /
Вы увидите что-то подобное при запуске 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...
Это может быть комбинация $ PATH и проблемы с разрешением.
Попробуйте выполнить следующие шаги:
Обновите переменную $ PATH, чтобы она указывала на файл bin MongoDB. В моем случае brew install MongoDB в эту папку:
/usr/local/Cellar/mongodb/2.4.6/
Чтобы обновить переменную $ PATH, сделайте следующее:
$ sudo vi /etc/paths
Затем нажмите «i», чтобы вставить текст в Vi, добавьте путь к MongoDB в конец файла «paths» и перезапустите терминал.
/usr/local/Cellar/mongodb/2.4.6/bin
Используйте «Esc: w q» для сохранения и выхода из редактора Vi.
Используйте echo для отображения вашей переменной пути:
$ 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'. Давайте продолжим и создадим файл конфигурации. Имейте в виду, что я создал очень простой файл конфигурации. Однако вы можете добавить множество других переменных для настройки 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. Откройте два экземпляра Терминала. В Терминале 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 .
Я надеюсь, что это помогает!
Ура, Чинмей