[macos] मोंगोडब मोंगोद शिकायत करता है कि कोई / डेटा / डीबी फ़ोल्डर नहीं है



Answers

निक के समान त्रुटि प्राप्त करने के बाद

दिखाया गया: id -u: अवैध तर्क

मुझे पता चला कि यह गलत प्रकार के उद्धरण चिह्नों का उपयोग करने से हुआ है ( बैकक्वॉट्स होना चाहिए) उबंटू मंच

इसके बजाय मैंने अभी इस्तेमाल किया

सुडो ने $ USER / डेटा / डीबी दिखाया

एक विकल्प के रूप में और अब मोंगोड की अनुमतियों की आवश्यकता है।

Question

मैं आज पहली बार अपने नए मैक का उपयोग कर रहा हूँ। मैं mongodb.org पर उस चरण तक शुरू करने की मार्गदर्शिका का पालन कर रहा हूं जब तक कोई व्यक्ति / डेटा / डीबी निर्देशिका बनाता है। बीटीडब्ल्यू, मैंने होमब्री मार्ग का उपयोग किया।

तो मैं एक टर्मिनल खोलता हूं, और मुझे लगता है कि मैं होम डायरेक्टरी कहलाता हूं, जब मैं "एलएस" करता हूं, तो मुझे डेस्कटॉप एप्लिकेशन मूवीज़ म्यूजिक पिक्चर्स डॉक्यूमेंट्स और लाइब्रेरी के फ़ोल्डर्स दिखाई देते हैं।

तो मैंने एक किया

mkdir -p /data/db

सबसे पहले, यह अनुमति अस्वीकार कर दिया गया है। मैंने आधे घंटे तक अलग-अलग चीजों की कोशिश की और आखिरकार:

mkdir -p data/db

काम किया। और जब मैं "ls", डेटा की एक निर्देशिका और इसमें घोंसला एक डीबी फ़ोल्डर मौजूद है।

तो मैं मोंगोड को आग लगाता हूं और यह डेटा / डीबी नहीं ढूंढने की शिकायत करता है

क्या मैंने कुछ गलत किया?

अब मैंने किया है

sudo mkdir -p /data/db

और जब मैं "एलएस" करता हूं तो मुझे डेटा डीआईआर और डीबी डीआईआर दिखाई देता है। हालांकि डीबी डायर के अंदर, इसमें बिल्कुल कुछ नहीं है और जब मैं अब मोंगोड चलाता हूं

Sun Oct 30 19:35:19 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Sun Oct 30 19:35:19 dbexit: 
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to close listening sockets...
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to flush diaglog...
Sun Oct 30 19:35:19 [initandlisten] shutdown: going to close sockets...
Sun Oct 30 19:35:19 [initandlisten] shutdown: waiting for fs preallocator...
Sun Oct 30 19:35:19 [initandlisten] shutdown: lock for final commit...
Sun Oct 30 19:35:19 [initandlisten] shutdown: final commit...
Sun Oct 30 19:35:19 [initandlisten] shutdown: closing all files...
Sun Oct 30 19:35:19 [initandlisten] closeAllFiles() finished
Sun Oct 30 19:35:19 [initandlisten] shutdown: removing fs lock...
Sun Oct 30 19:35:19 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Sun Oct 30 19:35:19 dbexit: really exiting now

संपादित करने के लिए त्रुटि संदेश प्राप्त करें

sudo chown mongod:mongod /data/db

chown: mongod: Invalid argument

सबको धन्यवाद!




मुझे मौजूदा मोंगोब सेटअप के साथ यह समस्या थी। मुझे अभी भी यकीन नहीं है कि ऐसा क्यों हुआ, लेकिन किसी कारण से मोंगोड प्रक्रिया mongod.config फ़ाइल नहीं मिली। क्योंकि यह कॉन्फ़िगरेशन फ़ाइल नहीं ढूंढ सका, उसने डीबी फाइलों को / डेटा / डीबी में खोजने की कोशिश की, एक फ़ोल्डर जो मौजूद नहीं था। हालांकि, कॉन्फ़िगरेशन फ़ाइल अभी भी उपलब्ध थी इसलिए मैंने सुनिश्चित किया कि प्रक्रिया में कॉन्फ़िगरेशन फ़ाइल की अनुमति है और निम्नानुसार कॉन्फ़िगर ध्वज के साथ मोंगोड प्रक्रिया चलाएं:

mongod --config /etc/mongod.conf

कॉन्फ़िगरेशन फ़ाइल में ही मुझे यह सेटिंग थी:

storage:
  dbPath: /var/lib/mongodb

और इस तरह प्रक्रिया को असली डीबी फ़ोल्डर फिर से मिल सकता है।




मुझे अपने विंडो मैनेजर के साथ / डेटा / डीबी फ़ोल्डर्स बनाकर इस सटीक समस्या को मिला। मैंने पहले टर्मिनल को करने की कोशिश की, और मूल निर्देशिका में फ़ोल्डर बनाने के लिए, मुझे सूडो का उपयोग करना पड़ा।

मैं बस खोजक का उपयोग कर रूट निर्देशिका में गया और 'नया फ़ोल्डर' का उपयोग कर एक नया फ़ोल्डर बनाया। पूरी तरह से मेरे लिए काम किया।

नोट: मैं ओएसएक्स का उपयोग कर रहा हूँ।




मैंने किया

brew install mongodb

2017-02-01 को और उसने मुझे mongodb संस्करण 3.6.2 दिया।

उपरोक्त ऑर्लूक के जवाब से संकेत दिया, मैंने बस कोशिश की

$ brew services restart mongodb

और सब कुछ जीवन में उग आया। मेरा mongoose.createConnection() कॉल जो मैंने चाहता था किया था। जीयूआई मोंगोडीबी कम्पास , सामुदायिक संस्करण, कनेक्ट होगा। मैंने local.startup_log संग्रह को देखने के लिए कम्पास का उपयोग किया। उसमें एक दस्तावेज़ था, मेरे लॉग इन सिर्फ एमओएनओडीबी सेवा शुरू कर रहा था, और उसके पास था

cmdLine:Object
    config:"/usr/local/etc/mongod.conf"

और वास्तव में ऐसी फाइल थी:

$ more /usr/local/etc/mongod.conf
systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

और वहां कई /usr/local/var/mongodb अस्पष्ट फ़ाइलों के साथ एक /usr/local/var/mongodb निर्देशिका थी। तो ऐसा लगता है कि स्थापना अब कैसे काम करती है।

मुझे यकीन नहीं है कि क्या brew services restart लॉगिन पर चलाने के लिए सेवा सेट करता है। तो मैंने किया

brew services stop mongodb
brew services start mongodb

और आशा की कि रिबूट के बाद इसे फिर से शुरू करें। और, वास्तव में, यह किया था। वास्तव में, अब, मुझे लगता है कि प्रारंभिक स्थापना के बाद सही काम करना है

brew services start mongodb

और उसे रीबूट के बाद सेवा शुरू करनी चाहिए और इसे पुनरारंभ करना चाहिए।




MongoDB के अधिक मौजूदा संस्करणों में, मेरे पास 3.2.10 है, इसे संग्रहीत किया जाता है

/var/lib/mongodb




फ़ोल्डर बनाएँ।

sudo mkdir -p /data/db/

फ़ोल्डर को अनुमति दें।

sudo chown `id -u` /data/db

फिर आप बिना mongod चला सकते हैं। ओएसएक्स योसाइट पर काम करता है




आपको / डेटा / डीबी बनाने की जरूरत है ... यह आपकी रूट (यानी / ) में उपशीर्षक / डेटा / नामक एक निर्देशिका है जिसे / db / ... कहा जाता है

आपको अनुमति त्रुटियां मिल रही हैं क्योंकि आपको मैकोज़ में अपने रूट डीआईआर में एक सख्त कॉन्ट्री बनाने के लिए सुडो का उपयोग करने की आवश्यकता है, सुडो आपको कमांड को व्यवस्थापक के रूप में चलाने देता है।

तो, इसे इसके बजाए चलाएं ...

$ sudo mkdir -p /data/db

यह आपको पासवर्ड के लिए संकेत देगा, यह वही पासवर्ड है जिसका उपयोग आप सिस्टम सेटिंग्स को बदलने के लिए करते हैं (उस छोटे संवाद जो खुलता है जब आप सिस्टम की प्राथमिकताओं में सिस्टम की प्राथमिकताओं में कोशिश करते हैं और बदलते हैं), और संभवतः आप लॉगिन करने के लिए उपयोग करते हैं।




मैक पर ब्रू के माध्यम से स्थापित जहां YOUR_USER_NAME और कर्मचारी समूह है

sudo mkdir -p /data/db
sudo chmod +x+r+w /data/db/
sudo touch /data/db/mongod.lock
sudo chown YOUR_USER_NAME:staff /data/db
sudo chmod +x+r+w /data/db/mongod.lock
sudo chown YOUR_USER_NAME:staff /data/db/mongod.lock





Related