Cài đặt và chạy MongoDB trên OSX


79

Nếu ai đó có thể cung cấp một số thông tin chi tiết ở đây, tôi sẽ TUYỆT VỜI đánh giá cao.

Tôi mới sử dụng MongoDB và (tương đối) mới đối với dòng lệnh.

Tôi đã có ứng dụng express / node.js chạy trên MongoDB cục bộ thành công, nhưng khi khởi động lại máy tính của mình, tôi đã cố khởi động lại máy chủ Mongo và nó bắt đầu xuất hiện lỗi và không khởi động được. Kể từ đó, tôi đã cài đặt lại Mongo nhiều lần chỉ để tìm thấy lỗi tương tự xảy ra. đây là những gì tôi đang nhận được:

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

Tôi đang bỏ lỡ một bước? Tôi có nên tạo một tệp cấu hình không? Một số hướng dẫn cơ bản sẽ thực sự hữu ích. Cảm ơn trước cho bất kỳ hiểu biết.


Bạn cần chạy Mongo Server của mình, không phải Mongo Shell, đây là lỗi của Mongo Shell chỉ cho biết máy chủ không chạy. Cố gắng chạy máy chủ và dán lỗi vào đây.
Kousha

Tôi chỉ chạy ./bin/mongodvà nó hoạt động. Vì vậy, để lặp lại, ./bin/mongodkhởi động máy chủ? Làm cách nào để bắt đầu shell?
dùng2517788

mongod== máy chủ cơ sở dữ liệu, mongo== tương tác vỏ
WiredPrairie

Điều này ( docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x ) thực sự bao gồm thiết lập và sử dụng shell.
WiredPrairie

@ user2517788 Chào mừng bạn.
Kousha

Câu trả lời:


57

Giả sử bạn đã tạo thư mục data / db trong bin sau khi cài đặt.

  1. Bắt đầu một thiết bị đầu cuối cho máy chủ mongo của bạn
  2. Đi tới <mongodb-install-directory>/binthư mục
  3. Chạy lệnh

    ./mongod

  4. Bắt đầu một thiết bị đầu cuối cho trình bao mongo của bạn

  5. Đi tới <mongodb-install-directory>/binthư mục
  6. Chạy lệnh (đảm bảo bạn đặt tên của cơ sở dữ liệu)

    ./mongo kiểm tra


13
thư mục mongo / bin ở đâu?
elliotrock

6
@elliotrock mà mongod nên cung cấp cho bạn địa điểm
Nabin

Sử dụng ./mongod -f ~/path/to/mongod.confvì MongoDB không sử dụng tệp cấu hình trừ khi bạn yêu cầu.
Jack

167

Nếu bạn đã cài đặt mongodb thông qua homebrewthì bạn chỉ cần bắt đầu mongodb thông qua

brew services start mongodb

Sau đó, truy cập trình bao bằng

mongo

Bạn có thể tắt db của mình bằng cách

brew services stop mongodb

Bạn có thể khởi động lại db của mình bằng cách

brew services restart mongodb

Để có thêm lựa chọn

brew info mongodb

58

Cập nhật câu trả lời (9/2/2019):

Homebrew đã xóa công thức mongodb khỏi kho lưu trữ cốt lõi của nó, hãy xem yêu cầu kéo này .

Cách mới để cài đặt mongodb bằng Homebrew như sau:

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

Sau khi cài đặt, bạn có thể bắt đầu dịch vụ mongodb bằng cách làm theo các lưu ý sau:

~> 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

Câu trả lời không được chấp nhận (27/8/2019):

Tôi giả sử bạn đang sử dụng Homebrew. Bạn có thể xem thông tin bổ sung mà bạn cần bằng cách sử dụngbrew 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

Lưu ý là những gì bạn cần làm theo sau khi cài đặt.


20

Vấn đề ở đây là bạn đang cố gắng mở một trình bao mongo mà không khởi động một mongo db đang lắng nghe cổng 127.0.0.1:27017 (mặc định cho mongo db) đó là lỗi tất cả về:

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

Giải pháp đơn giản nhất là mở thiết bị đầu cuối và nhập

$ mongod --dbpath ~/data/db

Lưu ý: dbpath ở đây là "Người dùng / người dùng" nơi tạo các thư mục data / db

tức là, bạn cần tạo dữ liệu thư mục và thư mục con db trong thư mục người dùng của bạn. Ví dụ: nói rằng

/ Users / johnny / data

Sau khi mongo db lên. Mở một thiết bị đầu cuối khác trong cửa sổ mới và nhập

$ mongo

nó sẽ mở mongo shell với kết nối db mongo của bạn được mở trong một thiết bị đầu cuối khác.


5

ngoài ra, bạn có thể muốn mongo chạy trên một cổng khác, sau đó dán lệnh này vào thiết bị đầu cuối,

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

nơi 27018 là cổng mà chúng tôi muốn mongo chạy trên đó

giả định

  1. mongod tồn tại trong thùng của bạn tức là /usr/local/bin/ đối với mac (sẽ là nếu bạn đã cài đặt với brew), nếu không bạn cần điều hướng đến đường dẫn nơi mongo được cài đặt
  2. thư mục /data/db/tồn tại

5

Cài đặt Mac:

  1. Cài đặt bia

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Cập nhật và xác minh rằng bạn phù hợp với

    brew update
    brew doctor
    
  3. Cài đặt mongodb với

    brew install mongodb
    
  4. Tạo thư mục cho các tệp dữ liệu mongo:

    mkdir -p /data/db
    
  5. Đặt quyền

    sudo chown -R `id -un` /data/db
    
  6. Mở một cửa sổ đầu cuối khác và chạy và tiếp tục chạy một máy chủ / daemon mongo

    mongod
    
  7. Quay lại thiết bị đầu cuối trước đó và chạy trình bao mongodb để truy cập dữ liệu

    mongo
    

Để thoát từng cái sau:

  1. Vỏ:

    quit()
    
  2. Máy chủ

    ctrl-c
    

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

Nếu bạn đang sử dụng Mac và đang tìm kiếm một cách dễ dàng hơn để khởi động / dừng máy chủ mongo-db của mình, thì MongoDB Preference Pane là thứ mà bạn nên xem xét. Với nó, bạn bắt đầu / dừng phiên bản mongo-db của mình thông qua giao diện người dùng. Hy vọng nó giúp!


3

Đảm bảo rằng bạn đã đăng nhập với tư cách người dùng root trong thiết bị đầu cuối của mình.

Các bước khởi động máy chủ mongodb trong máy Mac của bạn

  1. Mở thiết bị đầu cuối
  2. Chạy lệnh sudo su
  3. Nhập mật khẩu quản trị viên của bạn
  4. chạy lệnh mongod
  5. Máy chủ MongoDb khởi động

Hy vọng nó sẽ giúp bạn. Cảm ơn


3

Đối với những người có thể gặp phải vấn đề tương tự và các giải pháp được đề xuất ở trên không hoạt động, ví dụ: trong trường hợp của tôi, tôi đã cài đặt mongodb-community, vì vậy bạn có thể muốn chạy lệnh dưới đây để khởi động lại máy chủ mongo của mình.

Đối với những người đã cài đặt mongodb-community bằng brew

brew services start mongodb-community


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.