Встановлення та запуск MongoDB на OSX


79

Якщо хтось може надати тут якусь інформацію, я БУДУ ЩЕ Вдячний.

Я новачок у MongoDB і (відносно) новий у командному рядку.

У мене була програма express / node.js, яка успішно працювала на MongoDB, але після перезавантаження комп'ютера я спробував перезапустити сервер Mongo, і він почав видавати помилки і не запускався. З тих пір я кілька разів перевстановлював Mongo, лише щоб виявити ту саму помилку. ось що я отримую:

privee:mongodb-osx-x86_64-2.4.6 jonlinton$ ./bin/mongo
MongoDB shell version: 2.4.6
connecting to: test
Mon Aug 26 14:48:47.168 Error: couldn't connect to server 127.0.0.1:27017 at     src/mongo/shell/mongo.js:145
exception: connect failed

Я пропустив крок? Чи слід створювати конфігураційний файл? Деякі основні вказівки були б дуже корисними. Заздалегідь дякуємо за будь-яку інформацію.


Вам потрібно запустити сервер Mongo, а не Mongo Shell, це помилка Mongo Shell, яка говорить лише про те, що сервер не працює. Спробуйте запустити сервер і вставте помилку сюди.
Kousha

Я просто біг, ./bin/mongodі це спрацювало. Отже, щоб повторити ітерацію, ./bin/mongodзапускає сервер? Як запустити оболонку?
user2517788

mongod== сервер баз даних, mongo== інтерактивна оболонка
WiredPrairie

Це ( docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x ) насправді стосується налаштування та використання оболонки.
WiredPrairie

@ user2517788 Ласкаво просимо.
Kousha

Відповіді:


57

Припускаючи, що ви створили каталог даних / db у розділі bin після встановлення.

  1. Запустіть термінал для вашого сервера mongo
  2. Перейдіть до <mongodb-install-directory>/binкаталогу
  3. Виконайте команду

    ./mongod

  4. Запустіть термінал для вашої оболонки mongo

  5. Перейдіть до <mongodb-install-directory>/binкаталогу
  6. Запустіть команду (переконайтеся, що ви вказали ім'я бази даних)

    ./mongo тест


13
де каталог mongo / bin?
elliotrock

7
@elliotrock, який бог повинен дати вам місцезнаходження
Набін,

Використовуйте, ./mongod -f ~/path/to/mongod.confоскільки MongoDB не використовує файл конфігурації, якщо ви цього не скажете.
Джек

167

Якщо ви встановили mongodb до кінця, homebrewви можете просто запустити mongodb до кінця

brew services start mongodb

Потім відкрийте оболонку за допомогою

mongo

Ви можете вимкнути свій db до

brew services stop mongodb

Ви можете перезапустити свою базу даних до

brew services restart mongodb

Додаткові варіанти

brew info mongodb

58

Оновлена ​​відповідь (02.09.2019):

Homebrew видалив формулу mongodb зі свого основного сховища, див. Цей запит на витягування .

Новий спосіб встановити mongodb за допомогою Homebrew такий:

~> brew tap mongodb/brew
~> brew install mongodb-community

Після встановлення ви можете запустити службу mongodb, дотримуючись застережень:

~> brew info mongodb-community
mongodb/brew/mongodb-community: stable 4.2.0
High-performance, schema-free, document-oriented database
https://www.mongodb.com/
Not installed
From: https://github.com/mongodb/homebrew-brew/blob/master/Formula/mongodb-community.rb
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Застаріла відповідь (27.08.2019):

Я припускаю, що ви використовуєте Homebrew. Ви можете побачити додаткову інформацію, яка вам потрібнаbrew info $FORMULA

~> brew info mongo                                                           255
mongodb: stable 2.4.6, devel 2.5.1
http://www.mongodb.org/
/usr/local/Cellar/mongodb/2.4.5-x86_64 (20 files, 287M) *
  Built from source
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mongodb.rb
==> Caveats
To reload mongodb after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Застереження - це те, чого потрібно дотримуватися після установки.


20

Проблема в тому, що ви намагаєтеся відкрити оболонку mongo, не запускаючи монго db, який прослуховує порт 127.0.0.1:27017(за замовчуванням для монго дб), ось в чому полягає помилка:

Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145 exception: connect failed

Найпростішим рішенням є відкрити термінал і тип

$ mongod --dbpath ~/data/db

Примітка: dbpath тут - "Користувачі / користувач", де створюються каталоги даних / db

тобто вам потрібно створити дані каталогу та підкаталог db у вашій папці користувача. Наприклад, скажіть `

/ Users / johnny / data

Після закінчення монго db. Відкрийте інший термінал у новому вікні та введіть

$ mongo

він відкриє оболонку mongo з вашим з'єднанням mongo db, відкритим в іншому терміналі.


5

крім того, вам може знадобитися запустити mongo на іншому порту, а потім вставте цю команду в термінал,

mongod --dbpath /data/db/ --port 27018

де 27018 - це порт, на якому ми хочемо працювати Монго

припущення

  1. mongod існує у вашому кошику, тобто /usr/local/bin/ для mac (що було б, якщо ви встановили за допомогою brew), інакше вам доведеться перейти до шляху, де встановлено mongo
  2. папка /data/db/існує

5

Встановлення Mac:

  1. Встановіть заварку

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Оновіть і переконайтеся, що ви добре

    brew update
    brew doctor
    
  3. Встановіть mongodb за допомогою

    brew install mongodb
    
  4. Створити папку для файлів даних mongo:

    mkdir -p /data/db
    
  5. Встановити дозволи

    sudo chown -R `id -un` /data/db
    
  6. Відкрийте інше вікно терміналу та запустіть і продовжуйте запускати сервер / демон mongo

    mongod
    
  7. Поверніться до попереднього терміналу та запустіть оболонку mongodb для доступу до даних

    mongo
    

Щоб вийти з кожного з них пізніше:

  1. Оболонка:

    quit()
    
  2. Сервер

    ctrl-c
    

4
mongo => mongo-db console
mongodb => mongo-db server

Якщо ви перебуваєте на Mac і шукаєте простіший спосіб запустити / зупинити ваш сервер mongo-db, тоді вам слід вивчити область налаштувань MongoDB . За допомогою нього ви запускаєте / зупиняєте свій екземпляр mongo-db за допомогою інтерфейсу користувача. Сподіваюся, це допоможе!


3

Переконайтеся, що ви увійшли як адміністратор користувача у своєму терміналі.

Кроки для запуску сервера mongodb у вашому mac

  1. Відкрити термінал
  2. Виконайте команду sudo su
  3. Введіть пароль адміністратора
  4. запустіть команду mongod
  5. Сервер MongoDb запускається

Сподіваюся, це допоможе вам. Дякую


3

Для тих, хто може зіткнутися з тією ж проблемою, а запропоновані вище рішення не працюють, наприклад, у моєму випадку я встановив mongodb-community, тому ви можете запустити команду нижче, щоб перезапустити сервер mongo.

Для тих, хто встановив mongodb-спільноту за допомогою brew

brew services start mongodb-community


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.