सवाल मैं मैक ओएस टर्मिनल से दूरस्थ मॉन्गो सर्वर से कैसे कनेक्ट कर सकता हूं


मैं अपने मैकबुक पर टर्मिनल में मोंगो खोल में जाना चाहता हूं। हालांकि, मुझे क्लाउड में चल रहे एक मोंगो इंस्टेंस से कनेक्ट करने में दिलचस्पी है (कम्पोज़.ओओ उदाहरण हेरोकू एडन के माध्यम से)। मेरे पास MongoDB URI से नाम, पासवर्ड, होस्ट, पोर्ट और डेटाबेस नाम है:

mongodb://username:password@somewhere.mongolayer.com:10011/my_database

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

हालांकि, मुझे पूर्ण शेल एक्सेस प्राप्त करने के लिए मुझे सही आदेश नहीं मिल रहा है। यहां मिले निर्देशों का उपयोग करना http://docs.mongodb.org/manual/reference/program/mongo/ ("रिमोट" के लिए खोजें) मैं एक कनेक्शन की तरह दिखने में सक्षम हूं, लेकिन मेरा उपयोगकर्ता नाम या पासवर्ड देने के बिना मैं पूरी तरह से जुड़ा हुआ नहीं हूं। चल रहा है db.auth(username, password) जब मैं गलत उपयोगकर्ता नाम और पासवर्ड प्रदान करता हूं तो 1 (जैसा कि "ऑथ विफल रहता है" का विरोध करता है), लेकिन मुझे जारी करते समय मुझे "अनधिकृत" त्रुटि संदेश मिलना जारी रहता है show dbs आदेश।


76
2017-11-08 04:52


मूल




जवाब:


आप शायद जुर्माना जोड़ रहे हैं लेकिन चलाने के लिए पर्याप्त विशेषाधिकार नहीं हैं show dbs

यदि आप कमांड लाइन में ऑथ पास करते हैं तो आपको db.auth चलाने की आवश्यकता नहीं है:

mongo somewhere.mongolayer.com:10011/my_database -u username -p password

एक बार कनेक्ट होने के बाद आप संग्रह देख सकते हैं?

> show collections

यदि ऐसा है तो सब ठीक है और आपके पास डेटाबेस में व्यवस्थापकीय विशेषाधिकार नहीं हैं और वह नहीं चला सकते हैं show dbs


136
2017-11-08 05:24



मैं आपके द्वारा वर्णित तकनीक का उपयोग करके कनेक्ट करने में सक्षम हूं। हालांकि, मैं कोई भी आदेश नहीं चला सकता, जैसे कि "शो संग्रह" या "शो उपयोगकर्ता"। मैं "my_db.system.namespaces पर क्वेरी के लिए अधिकृत नहीं" त्रुटि प्राप्त करना चाहता हूं। - jononomo
ठीक है, तो उसकेोकू ने यादृच्छिक रूप से मेरे मोंगो डेटाबेस को एक अलग नाम दिया जिसे मैं देव में उपयोग कर रहा हूं। मुझे लगता है कि मूल रूप से मेरा मुद्दा था। - jononomo
लेकिन अगर मेरे पास है? AuthSource = व्यवस्थापक अंत में। यह काम नहीं करता है। - प्रमाणीकरण डाटाबेस मदद नहीं करता है। - RomKazanova
हालांकि 27017 डिफ़ॉल्ट पोर्ट है। बस उदाहरण के लिए बंदरगाह काम नहीं करता है। docs.mongodb.com/manual/reference/default-mongodb-port - change


मोंगो के साथ 3.2 और उच्चतम बस अपनी कनेक्शन स्ट्रिंग का उपयोग करें:

mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database

35
2017-07-23 09:26



ध्यान दें कि काम करने के लिए आपको मोन्गो खोल v3.2 या बाद में आवश्यकता है। देख jira.mongodb.org/browse/SERVER-6233 - Heinrich Filter