MongoDb tắt với Mã 100 [đã đóng]


90

Tôi đã theo dõi Tài liệu MongoDb để thiết lập MongoDb đầu tiên của mình,

Khi tôi khởi động MongoDB bằng lệnh

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Tôi nhận được lỗi sau đây nhập mô tả hình ảnh ở đây

Câu trả lời:


148

MongoDB cần một thư mục để lưu trữ cơ sở dữ liệu. Tạo một C:\data\db\thư mục:

mkdir C:\data\db

và sau đó khởi động MongoDB:

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Đôi khi C:\data\dbthư mục đã tồn tại do cài đặt trước đó. Vì vậy, nếu vì lý do mongod.exenày không hoạt động, bạn có thể xóa tất cả nội dung khỏi C:\data\dbthư mục và thực thi mongod.exelại.


Nếu bạn nhìn thấy chi tiết của lỗi, có một dòng cho biết rằng C:\data\db\ không tìm thấy thư mục. Sử dụng:mkdir C:\data\db
cespon

@cespon Gold tag ..: P
Aravind

Của tôi thực sự là/mongodb_data/db
Fabricio

Đảm bảo rằng dir dữ liệu và tệp được sở hữu bởi người dùng và nhóm mongodb (trên linux).
PeterM

69

Đối với người dùng macOS để khắc phục sự cố này:

Bạn cần thực hiện các bước sau:

Tạo thư mục "db". Đây là nơi chứa các tệp dữ liệu Mongo. Bạn có thể tạo thư mục ở vị trí mặc định bằng cách chạy:

sudo mkdir -p /data/db

Đảm bảo rằng /data/dbthư mục có quyền phù hợp bằng cách chạy:

sudo chown -R `id -un` /data/db

Bây giờ bạn đã hoàn tất và bạn có thể chạy sudo mongodđể khởi động máy chủ Mongo.

Nó không hoạt động nếu bạn chỉ chạy mongod

Nguồn .


3
tương tự trong ubuntu 16.04
Manoj Rana

Tôi nhận được mkdir: /data/db: Read-only file systemkhi chạy lệnh đầu tiên. Tôi có thể sửa lỗi này bằng cách nào? Cảm ơn bạn.
LC

@LC Thêm sudo vào lệnh mkdir
Itay Bachar


15

Để thay đổi thư mục db mặc định C:\data\dbtrong windows, lệnh là:

--dbpath

Ví dụ:

\mongod --dbpath C:\myfolder

7

Người dùng Mac

Thay vì chạy MongoDB với:

sudo mongod

Bạn có thể sử dụng mongodthay thế nếu bạn:

  1. Định vị thư mục dữ liệu của mongodb (thường là ~ / data)
  2. Thêm quyền đọc + viết với sudo chmod -R ugo+rw data

Nếu bạn cần sử dụng sudokhi chạy mongodb ( sudo mongod), điều đó có nghĩa là bạn không có quyền đọc và ghi trên thư mục dữ liệu mongodb


1
Cám ơn vì cái này. Tôi đã có thêm phép đọc + ghi vào / data Tôi không hiểu những gì tôi đã làm sai nhưng tôi đã thiết lập thư mục dữ liệu của tôi để ~ / Applications / MongoDB / dữ liệu
vinsentos

3

Vui lòng thực hiện các bước sau:

  1. Như những người bạn khác đã đề cập, trước tiên bạn nên tạo một thư mục để lưu trữ dữ liệu cơ sở dữ liệu của mình. Thư mục này có thể giống như:

    C: \ mongo-data

  2. Từ dòng lệnh, điều hướng đến nơi bạn đã cài đặt mongodb và nơi mongod.exe cư trú. Trong trường hợp của tôi, đường dẫn đầy đủ là:

    C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin

  3. Từ đây, chạy mongod.exe và chuyển nó đường dẫn đến thư mục bạn đã tạo ở bước một bằng cách sử dụng cờ --dbpath như sau:

    mongod.exe --dbpath "C: \ mongo-data"

Xin lưu ý : Nếu bạn đang sử dụng windows, bạn cần sử dụng dấu ngoặc kép ("") ở trên để chạy đúng cách.

Bằng cách này, bạn sẽ nhận được một cái gì đó như sau:

2017-06-14T12:45:59.892+0430 I NETWORK  [thread1] waiting for connections on port 27017

Nếu bạn sử dụng dấu nháy đơn ('') trên windows, bạn sẽ nhận được:

2017-06-14T01:13:45.965-0700 I CONTROL  [initandlisten] shutting down with code:100

Hy vọng nó sẽ giúp giải quyết vấn đề.


1

Để chạy Mongo DB quỷ bằng mongodlệnh, bạn phải có một thư mục cơ sở dữ liệu, có thể bạn cần chạy:

mkdir C:\data\db

Ngoài ra, MongoDB cần có quyền ghi cho thư mục đó hoặc nó phải được chạy với quyền của người dùng cao hơn, chẳng hạn như sudo mongod.


1

Tôi tiếp tục gặp lỗi sau khi cố gắng khởi động mongodb (trên mac os).

"shutting down with code:100"

Tôi đã sử dụng lệnh sau:

./mongod --dbpath=~/mongo-data

Cách khắc phục cho tôi là tôi không cần dấu "=" và điều này gây ra lỗi. Tôi cũng vậy

./mongod --dbpath ~/mongo-data

Tôi chỉ muốn ném điều này ra khỏi đó bởi vì lỗi không có cách nào xác định rằng đây là vấn đề. Tôi gần như đã xóa nội dung của thư mục ~ / mongo-data để xem điều đó có hữu ích không. Rất vui vì tôi nhớ rằng cli args đôi khi không sử dụng dấu "=".


1

đầu tiên bạn phải tạo thư mục dữ liệu nơi MongoDB lưu trữ dữ liệu. Đường dẫn thư mục dữ liệu mặc định của MongoDB là đường dẫn tuyệt đối \ data \ db trên ổ đĩa mà bạn khởi động MongoDB từ đó.

nếu bạn đã cài đặt trong ổ C: / thì bạn phải tạo thư mục data \ db. để thực hiện lệnh chạy này trong cmd

C:\>mkdir data\db

Để khởi động MongoDB, hãy chạy mongod.exe.

"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"

Tùy chọn --dbpath trỏ đến thư mục cơ sở dữ liệu của bạn. nhập mô tả hình ảnh ở đây

Kết nối với MongoDB.

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"

để kiểm tra tất cả hoạt động tốt:

show dbs

nhập mô tả hình ảnh ở đây


1

1.Nếu nó hiển thị lỗi (tắt với mã 100) có nghĩa là nó không tìm thấy vị trí mong muốn của tệp.

1.a Nếu nó trước macOS Catalina thì hãy tạo thư mục với sudo mkdir -p / data / db và cấp quyền sử dụng nó
sudo chown -R id -un/ data / db.

1.b nếu đó là macOS Catalina trở đi thì hãy tạo sudo mkdir -p / System / Volumes / data / db và cấp cho nó quyền sudo chown -R id -un/ System / Volumes / data / db.

2. Bắt đầu dịch vụ bia mongo db chạy mongodb-community

3. gõ mongod hoặc mongod --dbpath / Hệ thống / Khối lượng / Dữ liệu / dữ liệu / db

4.Và nếu lỗi hiển thị mongod (tắt với mã 48)
có nghĩa là cổng đang được sử dụng, vì vậy bạn có thể làm hai việc

4.a Bạn thay đổi cổng mongod bằng cách chỉ định
số cổng mongod --dbpath / System / Volumes / Data / data / db —port 27018.

4.b Hoặc Bạn có thể hủy tiến trình tại cổng đó bằng cách tìm tiến trình bằng sudo lsof -i: 27017 và sau đó giết bằng lệnh
kill -9

5. Lặp lại bước 2 và 3.


1

Đối với người dùng macOS, hãy quan tâm đến vấn đề dưới đây:

nếu bạn cài đặt MongoDB Community trên macOS bằng .tgz Tarball

(( Bắt đầu với macOS 10.15 Catalina, Apple hạn chế quyền truy cập vào thư mục dữ liệu mặc định MongoDB của / data / db. Trên macOS 10.15 Catalina, bạn phải sử dụng một thư mục dữ liệu khác, chẳng hạn như / usr / local / var / mongodb. ))

bạn có thể giải quyết nó như sau:

(MacOS Catalina trở đi)

Apple đã tạo một Tập mới ở Catalina cho mục đích bảo mật. Nếu bạn đang ở Catalina, bạn cần tạo thư mục / data / db trong System / Volumes / Data.

Sử dụng lệnh này:

sudo mkdir -p /System/Volumes/Data/data/db

Sau đó, sử dụng lệnh này để cấp quyền:

sudo chown -R `id -un` /System/Volumes/Data/data/db

cái này sẽ thay thế bình thường

sudo mkdir -p /data/db

Đảm bảo rằng thư mục / data / db có quyền phù hợp bằng cách chạy:

sudo chown -R `id -un` /data/db

khi bạn hoàn thành và bắt đầu mongoDB, bạn có thể sử dụng những điều sau trong terminal:

sudo mongod --dbpath /System/Volumes/Data/data/db

0

Trong MacOS : -

Nếu bạn quên cung cấp đường dẫn của cơ sở dữ liệu đã tạo trước đó trong khi chạy máy chủ mongo, lỗi trên sẽ xuất hiện.

sudo ./mongod --dbpath ../../mongo-data/

Tài liệu tham khảo

Lưu ý: - ./mongod && ../../mongo-data là đường dẫn tương đối. Vì vậy, bạn có thể tránh nó bằng cách cấu hình trong biến môi trường

Tài liệu tham khảo


0

Đối với các cửa sổ, tôi gặp vấn đề tương tự.

Cách khắc phục là - tôi cần chạy dòng lệnh với tư cách là quản trị viên.


1
Tôi khuyên bạn nên đặt lại câu trả lời như sau: "Nếu bạn gặp sự cố này trong Windows, hãy đảm bảo rằng bạn đang chạy dòng lệnh với tư cách là quản trị viên".
Filnor

0

nếu bạn đã có thư mục, hãy kiểm tra quyền dir hoặc thử khởi động lại mongo bằng sudo. dịch vụ bia sudo bắt đầu mongodb


0

Trong trường hợp của tôi, tôi gặp lỗi tương tự và nó đang xảy ra vì tôi đã chạy mongod với người dùng root và điều đó đã tạo tệp nhật ký chỉ người gốc mới có thể truy cập được. Tôi có thể khắc phục điều này bằng cách thay đổi quyền sở hữu từ root thành người dùng mà bạn thường chạy mongod. Tệp nhật ký nằm trong / var / lib / mongodb / journal /


0

Tôi bạn đang sử dụng Virtualbox, hãy kiểm tra máy ảo của bạn.

docker-machine ssh

df -h

Hãy xem dev / sda1 nếu bạn không có dung lượng trống, điều này có thể là do một số lượng lớn hình ảnh hoặc vùng chứa. bạn có thể xóa chúng bằng cách sử dụng "docker rm" và "docker rmi"


0

Mã thoát này cũng sẽ được cung cấp nếu bạn đang thay đổi phiên bản MongoDB và thư mục dữ liệu không tương thích, chẳng hạn như khi hạ cấp. Di chuyển thư mục cũ đến nơi khác và tạo một thư mục mới (theo hướng dẫn được đưa ra trong các câu trả lời khác).


0

Aravind.

Điều đó cũng xảy ra với tôi vì tôi đã dừng MongoDB bởi Trình quản lý tác vụ.

Tạo thư mục C: \ data \ db và khởi động MongoDB tại C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe đã làm việc cho tôi, như cespon đã đề xuất, nhưng MongoDB không hiển thị bất kỳ Cơ sở dữ liệu nào của tôi được tạo trước đó.

Sau đó, xóa thư mục C: \ data \ dbsửa chữa cài đặt bằng trình cài đặt MongoDB , tôi đã khôi phục dữ liệu của mình và khởi động MongoDB bình thường.

(Tôi rất mới với MongoDB, nhưng nó đã giúp tôi giải quyết vấn đề này và khôi phục có thể xem trước dữ liệu).


0

đã gõ mongod và gặp lỗi

Các lỗi:

ngoại lệ trong initAndListen: NonExistingPath: Không tìm thấy thư mục dữ liệu / data / db., chấm dứt

tắt với Mã 100

Sau đó, hãy thử với (tạo dữ liệu và thư mục db với tất cả quyền)

mongod --dbpath = / data

sử dụng tab mới và gõ mongo.

> sử dụng dbs

Nếu bạn vẫn gặp phải vấn đề thì bạn có thể kiểm tra mac catalina: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )

dành cho windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/

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.