2011-12-12 8 views
16

उबंटू 10.04 एलटीएस पर मुझे मोंगो डीबी का अशुद्ध शट डाउन था। अब जब मैं रूट के रूप में लॉग इन और सेवा के माध्यम से MongoDB चलाने MongoDB शुरू, मैं जब मैं MongoDB मैन्युअल जड़ के माध्यम से चलाने के त्रुटि-मोंगो डीबी - सॉकेट के लिए अनुमति अस्वीकार: /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 

नीचे मिलता है, यह सिर्फ ठीक काम करता है।

मैं पुष्टि कर सकता है कि वहाँ कोई /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/ 

मैं कहां से समस्या निवारण शुरू करते हैं?

उत्तर

16

/tmp पर फ़ाइल अनुमतियां क्या हैं? क्या यह संभव है कि वे बदल गए हैं?

एक

# ls -ld /tmp 

आपको बता देंगे।

यदि आप अनिश्चित कोशिश:

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

कि यह ठीक कर सकता है।

+0

आप सही शट डाउन के बाद सही हैं, thins गड़बड़ हो गया है और/tmp अब मोंगोडीबी उपयोगकर्ता द्वारा लिखने योग्य नहीं था। – user837208

+0

ग्रेट। खुशी है कि हम आपको एक जवाब मिला। –

+0

आप मेरा दिन बचाओ। धन्यवाद! –

0

सुनिश्चित करें कि उबंटू मोंगो उपयोगकर्ता के पास फ़ाइल तक पहुंच है। मोंगो उबंटू सेवा उबंटू मोंगो उपयोगकर्ता का उपयोग करती है। Mongo उपयोगकर्ता नाम खोजने के लिए/var/lib/mongodb निर्देशिका पर जाएं और अनुमतियां दिखाएं: ls -l

+0

'जड़ @ devbox: ~ # ls -l/var/lib/MongoDB कुल 4 drwxr-XR-एक्स 2 MongoDB MongoDB 4096 2011-12-12 13:53 पत्रिका -rwxr-XR-x 1 mongodb mongodb 0 2011-12-12 13:53 mongod.lock' – user837208

17

इस तरह मालिक बदलने का प्रयास करें,

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

यह मेरी समस्या तय! धन्यवाद –

+0

ईश्वर का शुक्र है कि आखिर में काम किया !! धन्यवाद! यह अजीब बात है क्योंकि '/ tmp' के पास तीनों के लिए 'rwx' अनुमति थी, फिर भी जब तक मैंने आपके उदाहरण की कोशिश नहीं की तब तक ऑपरेशन की अनुमति नहीं थी। – spicypumpkin

0

मैं क्योंकि मैं जड़ द्वारा उपयोग रन MongoDB है, यह शुरू कर देंगे systemctl CentOS 7.3 पर साथ विफल ही मुद्दा है,।

कृपया मोंगोडब के लिए सही अनुमति का उपयोग करें। $ sudo chown -R mongod:mongod \ /var/run/mongodb/mongod.pid \ /tmp/mongodb-27017.sock \ /var/lib/mongo/

अगर हम अन्य Error reading file /path/file: Permission denied तरह असफल है, शायद हम इसे SELinux से ठीक कर सकते हैं। $ sudo chcon -v -t mongod_var_lib_t /path/file

वैसे, मैं 777 अनुमति का उपयोग नहीं करता हूं, यह इतना खतरनाक है। : पी

संबंधित मुद्दे