Vị trí của cơ sở dữ liệu mongodb trên mac


91

Tôi là một người mới đối với mac cũng như mongodb.

Tôi có một nghi ngờ kỳ lạ, truy cập cơ sở dữ liệu được tạo bằng mongodb trên mac?

Tôi biết, trong windows có một thư mục được gọi là c: \ data \ db, nơi các tệp cơ sở dữ liệu của tôi được lưu trữ.

Cơ sở dữ liệu được lưu trữ như thế nào và ở đâu trong mac.

Tôi nhớ đã làm một cái gì đó như

sudo mkdir -p /data/db
sudo chown `id -u` /data/db

để tạo một thư mục như vậy trên mac, nhưng tôi không tìm thấy bất kỳ tệp cơ sở dữ liệu nào trong thư mục này, mặc dù tôi đã tạo một cơ sở dữ liệu.

Các tệp cơ sở dữ liệu được lưu trên mac ở đâu?

Bất kỳ trợ giúp sẽ được thực sự đánh giá cao.

Câu trả lời:


93

Thư mục dữ liệu mặc định cho MongoDB là /data/db.

Điều này có thể được ghi đè bởi một dbpathtùy chọn được chỉ định trên dòng lệnh hoặc trong tệp cấu hình.

Nếu bạn cài đặt MongoDB thông qua trình quản lý gói như Homebrew hoặc MacPorts, các cài đặt này thường tạo thư mục dữ liệu mặc định khác với / data / db và đặt dbpath trong tệp cấu hình.

Nếu một dbpath được cung cấp khi mongodkhởi động, bạn có thể kiểm tra giá trị trong mongoshell:

db.serverCmdLineOpts()

Bạn sẽ thấy một giá trị như:

"parsed" : {
    "dbpath" : "/usr/local/data"
},

1
Cũng cần lưu ý rằng mongodmáy chủ của bạn không phải chạy với tư cách rootngười dùng. Bạn cần đảm bảo rằng các quyền của thư mục dữ liệu của bạn bao gồm quyền truy cập đọc / ghi cho tài khoản người dùng mà mongodmáy chủ đang sử dụng.
Stennie

1
Khi tôi nhập getCommandLineOpts (), tôi nhận được một cái gì đó như `ReferenceError: getCommandLineOpts không được định nghĩa (shell): 1´. Bất kỳ giúp đỡ ??
Người Tây Ban Nha

4
Bạn đang sử dụng phiên bản MongoDB nào? Bạn sẽ có thể kiểm tra điều đó với db.serverStatus().version. Tôi tin rằng trình trợ giúp trình bao cho getCommandLineOpts()đã được thêm vào MongoDB 2.0. Bạn cũng có thể thử: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie 12/12/12

Tôi sử dụng phiên bản 2.2.2, khi tôi thử, db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})tôi nhận được một cái gì đó như { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Điều đó có nghĩa là, thư mục cơ sở dữ liệu của tôi chưa được đặt ??
Người Tây Ban Nha

Tôi hiểu rồi, tôi đã tạo một thư mục có tên là dữ liệu trong thư mục gốc và một thư mục con db. Bây giờ nó đang hiển thị đường dẫn. Cảm ơn rất nhiều cho sự giúp đỡ.
Người Tây Ban Nha


135

Cảm ơn @Mark, tôi tiếp tục quên điều này một lần nữa và một lần nữa. Sau khi cài đặt MongoDB với Homebrew:

  • Các cơ sở dữ liệu được lưu trong / usr / local / var / MongoDB / thư mục
  • Tệp mongod.conf ở đây: /usr/local/etc/mongod.conf
  • Nhật ký mongo có thể được tìm thấy tại / usr / local / var / log / mongodb /
  • Các tệp nhị phân mongo ở đây: / usr / local / Cellar / mongodb / [version] / bin

Cái này đánh đinh vào đầu. Cảm ơn bạn
Mark Pieszak - Trilon.io

2
Khi tôi kiểm tra / usr / local / var / mongodb / , thư mục trống. Và không, tôi chưa thay đổi dbpath mặc định của mongoldb. Bạn có thể giúp tôi tìm tệp cơ sở dữ liệu không?
Nishi Bangar,

Thêm một liên kết tượng trưng cho nó: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff 13/09/17

Tôi dường như không có một thư mục etctrong /usr/local/. Các tệp cấu hình nằm ở đâu hoặc làm thế nào tôi có thể tìm ra lol?
Reinier68

25

Tôi gặp sự cố tương tự, với phiên bản 3.4.2

để chạy nó (nếu bạn đã cài đặt nó bằng homebrew), hãy chạy quá trình như sau:

$ mongod --dbpath /usr/local/var/mongodb

Giải pháp này đã giải quyết được sự cố của tôi sau khi nâng cấp lên v4.2.5 qua Homebrew.
Matthias Hagemann

10

Tôi vừa cài đặt mongodb 3.4 bằng homebrew . (Brew install mongodb) Nó tìm kiếm / data / db theo mặc định.

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

Đây là kết quả của việc thực thi mongod.


9
Đây là nếu bạn bắt đầu mongodtrực tiếp từ thiết bị đầu cuối. Nếu bạn sử dụng brew services start mongodb, quá trình này sẽ sử dụng các tập tin cấu hình tại /usr/local/etc/mongod.confđó, lần lượt, xác định một dbPathsố/usr/local/var/mongodb
Molomby

Cảm ơn @Molomby đã đóng góp. Tôi đã không bắt đầu theo cách đó, tôi thậm chí không biết theo cách đó. :)
csonuryilmaz

1

Env : macOS Mojave 10.14.4

Cài đặt : homebrew

Vị trí :/usr/local/Cellar/mongodb/4.0.3_1

Lưu ý : Nếu cập nhật phiên bản bằng brew upgrade mongo, thư mục 4.0.4_1sẽ bị xóa và thay thế bằng thư mục phiên bản mới

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.