2011-12-12 26 views
16

Tôi đã tắt chức năng MongoDB không hoạt động trên Ubuntu 10.04 LTS. Bây giờ khi tôi đăng nhập bằng root và chạy MongoDB qua dịch vụ MongoDB bắt đầu, tôi nhận được dưới đây sai sótMongoDB - Quyền bị từ chối đối với socket: /tmp/mongodb-27017.sock

Mon Dec 12 13:53:15 [initandlisten] ERROR: listen(): bind() failed errno:13 Permission denied for socket: /tmp/mongodb-27017.sock 

Khi tôi chạy MongoDB bằng tay thông qua rễ, nó hoạt động tốt.

Tôi có thể khẳng định rằng không có tập tin /tmp/mongodb-27017.sock

[email protected]:~# ll /tmp/ 
total 16 
drwxr-xr-x 4 root root 4096 2011-12-12 13:53 ./ 
drwxr-xr-x 25 root root 4096 2011-12-11 13:06 ../ 
drwxrwxrwt 2 root root 4096 2011-12-12 13:01 .ICE-unix/ 
drwxrwxrwt 2 root root 4096 2011-12-12 13:01 .X11-unix/ 

Nơi nào tôi bắt đầu xử lý sự cố?

Trả lời

16

Quyền của tệp trên/tmp là gì? Có thể chúng đã bị thay đổi không?

Một

# ls -ld /tmp 

sẽ cho bạn biết.

Nếu bạn không chắc chắn thử:

# chown root:root /tmp 
# chmod 1777 /tmp 

Đó có thể sửa chữa nó.

+0

Bạn nói đúng, sau khi tắt máy không đúng cách, thins đã bị rối tung lên và/tmp không còn khả năng viết bởi người dùng MongoDb nữa. – user837208

+0

Tuyệt vời. Rất vui khi chúng tôi tìm thấy bạn câu trả lời. –

+0

Bạn tiết kiệm một ngày của tôi. Cảm ơn bạn! –

0

Đảm bảo người dùng Ubuntu mongo có quyền truy cập vào tệp. Dịch vụ Ubuntu Mongo sử dụng người dùng Ubuntu Mongo. Để tìm tên người dùng mongo, hãy truy cập thư mục/var/lib/mongodb và hiển thị các quyền: ls -l

+0

'root @ devbox: ~ # ls -l/var/lib/MongoDB tổng số 4 drwxr-xr-x 2 MongoDB MongoDB 4096 2011/12/12 13:53 tạp chí -rwxr-xr-x 1 mongodb mongodb 0 2011-12-12 13:53 mongod.lock' – user837208

17

Hãy thử thay đổi chủ sở hữu như thế này,

sudo chown mongodb:mongodb /tmp/mongodb-27017.sock 
+0

Điều này đã khắc phục được sự cố của tôi! Cảm ơn –

+0

Cảm ơn chúa nó cuối cùng đã làm việc !! Cảm ơn! Thật kỳ lạ bởi vì '/ tmp' đã cho phép' rwx' cho cả ba thao tác trên nhưng không được phép cho đến khi tôi thử ví dụ của bạn. – spicypumpkin

0

Tôi có cùng một vấn đề, bởi vì tôi có sử dụng chạy MongoDB bởi root, nó sẽ bắt đầu thất bại với systemctl trên CentOS 7.3.

Vui lòng sử dụng đúng quyền cho mongodb. $ sudo chown -R mongod:mongod \ /var/run/mongodb/mongod.pid \ /tmp/mongodb-27017.sock \ /var/lib/mongo/

Nếu chúng ta có khác thất bại như Error reading file /path/file: Permission denied, có lẽ chúng ta có thể khắc phục nó bằng cách SELinux. $ sudo chcon -v -t mongod_var_lib_t /path/file

Nhân tiện, tôi không recomment sử dụng quyền 777, nó rất nguy hiểm. : P

Các vấn đề liên quan