коли я встановлюю 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 (який я використовую Distro) потрібно виконати такі команди:
1 sudo service mongod start
2 mongo
І ось вам! сервер збирається запустити. Тепер, якщо ви хочете, щоб служба Mongo запускалася під час завантаження системи, вам доведеться запустити:
sudo chkconfig --levels 235 mongod on
І це все! Якщо ви це зробите, тепер у оболонці вам просто потрібно набрати mongo , щоб запустити сервер, але це майже все, проблема полягає в тому, що ви повинні спочатку запустити SERVICE, а потім SERVER :)
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, щоб вказувати на ваш файл смітника MongoDB. У моєму випадку заваріть встановіть 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. Я також створив каталог журналів, щоб уникнути будь-яких проблем з дозволами, поки Монго намагається створити будь-які журнали. Зміни власника, і це зробить роботу.
$ 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 .
Сподіваюся, це допоможе!
На ура, Чінмай