2011-03-14 9 views
32

मैं साथ MongoDB स्थापित official packages (MongoDB स्थिर), और Quickstart guide जिसमें शामिल पीछा किया:MongoDB केवल काम करता है जब Ubuntu पर रूट के रूप में चलाने - डेटा निर्देशिका मुद्दा

By default MongoDB will store data in /data/db , but it won't automatically create that directory. To create it, do:

$ sudo mkdir -p /data/db/ 
$ sudo chown `id -u` /data/db 

You can also tell MongoDB to use a different data directory, with the --dbpath option.

MongoDB केवल शुरू कर देंगे अगर मैं sudo mongod चलाने

Mon Mar 14 15:27:07 [initandlisten] couldn't open /data/db/test.ns errno:13 Permission denied 
Mon Mar 14 15:27:07 [initandlisten] couldn't open file /data/db/test.ns terminating 
Mon Mar 14 15:27:07 dbexit: 

क्या देता है: - अगर मैं कोशिश करते हैं और चलाने सिर्फ mongod मैं त्रुटि मिलती है?

+5

मेरी इच्छा है कि सभी प्रश्नों को यह अच्छी तरह से पूछा जाए। –

उत्तर

65

आपने रूट के रूप में /data/db बनाया है, इसलिए इसकी अनुमतियां हैं। आप अपने उपयोगकर्ता खाते में अनुमतियां बदल सकते हैं, या जो भी आपके पास मोंगो चल रहा है।

chown -R username /data/db 

या /data

तुम भी एक समूह

chown -R username.groupname 

-R यह रिकर्सिवली करता है निर्धारित कर सकते हैं, तो यह सभी फाइलों को आप पहले से ही रूट के रूप में MongoDB चल आपके द्वारा बनाई गई प्रभावित करेगा।

+2

मालिक को रूट के रूप में छोड़ने और बस एक समूह को असाइन करने का कोई लाभ? या क्या यह विशेष रूप से मालिक को उपयोगकर्ता के रूप में सेट करना बेहतर है? –

+3

धन्यवाद, मैं mongodb के लिए निर्देशिका को chowning था: मेरे उपयोगकर्ता नाम के बजाय mongodb: मेरा समूह। – Aaron

+0

एक आकर्षण की तरह काम करता है –

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