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
Câu trả lời:
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\db
thư mục đã tồn tại do cài đặt trước đó. Vì vậy, nếu vì lý do mongod.exe
này không hoạt động, bạn có thể xóa tất cả nội dung khỏi C:\data\db
thư mục và thực thi mongod.exe
lại.
/mongodb_data/db
Đố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/db
thư 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 .
mkdir: /data/db: Read-only file system
khi 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.
Vấn đề tương tự trên máy Mac của tôi (sử dụng Brew) đã được giải quyết bằng cách sử dụng:
sudo mongod
Để thay đổi thư mục db mặc định C:\data\db
trong windows, lệnh là:
--dbpath
Ví dụ:
\mongod --dbpath C:\myfolder
Người dùng Mac
Thay vì chạy MongoDB với:
sudo mongod
Bạn có thể sử dụng mongod
thay thế nếu bạn:
sudo chmod -R ugo+rw data
Nếu bạn cần sử dụng sudo
khi 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
Vui lòng thực hiện các bước sau:
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
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
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 đề.
Để chạy Mongo DB quỷ bằng mongod
lệ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
.
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 "=".
đầ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.
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
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.
Đố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
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/
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
Đố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.
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
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 /
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"
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 \ db và sử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).
đã 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.
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/
C:\data\db\
không tìm thấy thư mục. Sử dụng:mkdir C:\data\db