MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB trên Ubuntu sẽ không khởi động dưới dạng dịch vụ, không có gì trong nhật ký

OK, tất cả điều này liên quan đến quyền, nhưng hãy thực hiện từng bước. Khi bạn chạy sudo mongod nó hoàn toàn không tải tệp cấu hình, theo nghĩa đen, nó bắt đầu với tệp được biên dịch theo mặc định - cổng 27017, đường dẫn cơ sở dữ liệu / data / db, v.v. - đó là lý do tại sao bạn gặp lỗi không thể tìm thấy thư mục đó. "Mặc định của Ubuntu" chỉ được sử dụng khi bạn trỏ nó vào tệp cấu hình (nếu bạn bắt đầu sử dụng lệnh dịch vụ, điều này được thực hiện cho bạn phía sau).

Tiếp theo, bạn chạy nó như thế này:

sudo mongod -f /etc/mongodb.conf

Nếu không có vấn đề gì trước đây, thì bây giờ sẽ có - bạn đã chạy quá trình, với cấu hình bình thường của bạn (trỏ vào dbpath và nhật ký thông thường của bạn) với tư cách là người dùng root. Điều đó có nghĩa là bây giờ sẽ có một số tệp trong thư mục MongoDB bình thường đó với người dùng:nhóm của root:root .

Điều này sẽ gây ra lỗi khi bạn cố gắng khởi động lại nó như một dịch vụ bình thường, vì người dùng mongodb (mà dịch vụ sẽ cố gắng chạy) sẽ không có quyền truy cập vào những root:root đó và đáng chú ý nhất, nó có thể sẽ không thể ghi vào tệp nhật ký để cung cấp cho bạn bất kỳ thông tin nào.

Do đó, để chạy nó như một dịch vụ bình thường, chúng ta cần sửa các quyền đó. Trước tiên, hãy đảm bảo MongoDB hiện không chạy dưới dạng root, sau đó:

cd /var/log/mongodb
sudo chown -R mongodb:mongodb .
cd /var/lib/mongodb
sudo chown -R mongodb:mongodb .

Điều đó sẽ khắc phục sự cố (giả sử user:group là mongodb:mongodb ), mặc dù có lẽ tốt nhất bạn nên xác minh bằng ls -al hoặc tương tự để chắc chắn. Sau khi hoàn tất việc này, bạn sẽ có thể bắt đầu lại dịch vụ thành công.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhóm trình điều khiển MongoDB .NET theo phạm vi thời gian

  2. Bảo mật cơ sở dữ liệu 101:Hiểu đặc quyền truy cập cơ sở dữ liệu

  3. Làm cách nào để thực thi truy vấn gốc MongoDB (JSON) chỉ sử dụng mongo-java-driver?

  4. làm thế nào để $ dự án ObjectId thành giá trị chuỗi trong mongodb tổng hợp?

  5. Làm thế nào để in ra hơn 20 mục (tài liệu) trong trình bao của MongoDB?