MongoDB Atlas एक क्लाउड-आधारित डेटाबेस सेवा है, जो आपको MongoDB डेटाबेस को डिप्लॉय, प्रबंधित और स्केल करने देती है। आप Atlas को Atlas UI, एक वेब-आधारित इंटरफ़ेस, या Atlas CLI, एक कमांड-लाइन टूल के ज़रिए प्रबंधित कर सकते हैं जो आपको वही कार्य कमांड्स से करने देता है।
MongoDB Atlas CLI, Atlas UI का एक तेज़ विकल्प प्रदान करता है। आप अपने टर्मिनल से सीधे डेटाबेस प्रबंधन कार्य चला और स्वचालित कर सकते हैं।
इस लेख में, मैं आपको Atlas CLI का उपयोग करके अपने डेटाबेस प्रबंधित करने की प्रक्रिया दिखाऊंगा।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास ये हों:
MongoDB Atlas खाता।
कमांड-लाइन का बुनियादी अनुभव।
आपके ऑपरेटिंग सिस्टम के लिए Atlas CLI की इंस्टॉलेशन आवश्यकताएँ।
CLI कमांड्स की संरचना
MongoDB Atlas CLI एक सुसंगत कमांड संरचना का पालन करता है:
Manage clusters for your project. The clusters command provides access to your cluster configurations. You can create, edit, and delete clusters.
Usage:
atlas clusters [command]
Aliases:
clusters, cluster
Available Commands:
list Return all clusters for your project.
describe Return the details for the specified cluster for your project.
advancedSettings Manage advanced configuration settings for your cluster.
...
Flags:
-h, --helphelpfor clusters
Global Flags:
-P, --profile string Name of the profile to use from your configuration file. To learn about profiles for the Atlas CLI, see https://dochub.mongodb.org/core/atlas-cli-save-connection-settings.
Use "atlas clusters [command] --help"formore information about a command.संचालित द्वारा
Atlas CLI में कमांड नाम, आर्ग्युमेंट्स और फ्लैग नाम case-sensitive होते हैं। उदाहरणों में दी गई सटीक कैपिटलाइज़ेशन का ही उपयोग करें—जैसे, --orgId न कि --orgID।
MongoDB डिप्लॉयमेंट बनाएँ
डिप्लॉयमेंट MongoDB का एक रनिंग इंस्टेंस है जो आपका डेटा स्टोर और सर्व करता है। प्रत्येक डिप्लॉयमेंट में डेटाबेस सर्वर, स्टोरेज, नेटवर्किंग और स्वचालित बैकअप शामिल होते हैं। MongoDB Atlas इन्फ्रास्ट्रक्चर मैनेजमेंट संभालता है, ताकि आप सर्वर मेंटेन करने की बजाय डेटाबेस के उपयोग पर ध्यान केंद्रित कर सकें।
atlas setup कमांड आपको एक इंटरैक्टिव प्रक्रिया से गुज़ारता है। यह आपसे कॉन्फ़िगरेशन विकल्प पूछता है और एक प्रोजेक्ट बनाता है, क्लस्टर प्रोविज़न करता है, और बुनियादी सुरक्षा सेटिंग्स कॉन्फ़िगर करता है।
मौजूदा डिप्लॉयमेंट से प्रमाणीकरण करें
यदि आपके पास पहले से MongoDB Atlas डिप्लॉयमेंट है और आप उसे CLI से प्रबंधित करना चाहते हैं, तो आपको प्रमाणीकरण करना होगा। लॉग इन करने के लिए चलाएँ:
यह कमांड आपसे प्रमाणीकरण प्रकार चुनने के लिए कहेगा, फिर एक वन-टाइम वेरिफिकेशन कोड देगा। कोड कॉपी करें और ब्राउज़र में माँगे जाने पर पेस्ट करें। उदाहरण के लिए:
atlas auth login
? Select authentication type: UserAccount
To verify your account, copy your one-time verification code:
QPWF-6GT4
Paste the code in the browser when prompted to activate your Atlas CLI. Your code will expire after 3 minutes.
To continue, go to https://account.mongodb.com/account/connect
Press Enter to open the browser and complete authentication...
Successfully logged in as [email protected].संचालित द्वारा
प्रमाणीकरण के बाद, आप एक डिफ़ॉल्ट ऑर्गनाइज़ेशन और आउटपुट फ़ॉर्मैट चुनेंगे। CLI आपका सत्र स्टोर करता है, लेकिन यह समय-समय पर समाप्त हो जाता है। जब आपको "session expired" त्रुटि दिखे, तो atlas auth login फिर से चलाएँ।
कई परिवेशों के लिए प्रोफ़ाइल प्रबंधित करें
प्रोफ़ाइल आपको एक ही CLI इंस्टॉलेशन से कई MongoDB Atlas परिवेश प्रबंधित करने देती हैं। प्रत्येक प्रोफ़ाइल किसी अलग परिवेश, जैसे डेवलपमेंट, स्टेजिंग, या प्रोडक्शन के लिए कनेक्शन सेटिंग्स स्टोर करती है।
प्रोफ़ाइल का उपयोग करके, आप बिना दोबारा प्रमाणीकरण किए या कॉन्फ़िगरेशन फ़ाइलें बदले, परिवेशों के बीच जल्दी स्विच कर सकते हैं। यह तब उपयोगी है जब आप अपने विकास वर्कफ़्लो के अलग-अलग चरणों के लिए अलग MongoDB Atlas प्रोजेक्ट्स या ऑर्गनाइज़ेशन्स बनाए रखते हैं।
आम तौर पर हर परिवेश के लिए अलग Atlas प्रोजेक्ट बनाना और उन्हें प्रोफ़ाइल से प्रबंधित करना बेहतर होता है—उदाहरण के लिए:
डेवलपमेंट प्रोफ़ाइल: आपके dev प्रोजेक्ट की ओर संकेत करती है जिसमें परीक्षण के लिए छोटा M0 क्लस्टर हो।
स्टेजिंग प्रोफ़ाइल: आपके स्टेजिंग प्रोजेक्ट की ओर संकेत करती है जो प्रोडक्शन कॉन्फ़िगरेशन को दर्शाती है।
प्रोडक्शन प्रोफ़ाइल: आपके प्रोडक्शन-ग्रेड क्लस्टर्स वाले प्रोडक्शन प्रोजेक्ट की ओर संकेत करती है।
विभिन्न परिवेशों के लिए प्रोफ़ाइल बनाएँ
जब आप पहली बार atlas auth login चलाते हैं, तो CLI एक डिफ़ॉल्ट प्रोफ़ाइल बनाता है। अन्य परिवेशों के लिए अतिरिक्त प्रोफ़ाइल बनाने हेतु --profile फ्लैग का उपयोग करें:
MongoDB Atlas में प्रोजेक्ट्स आपके क्लस्टर्स, उपयोगकर्ताओं और सेटिंग्स को व्यवस्थित करते हैं। किसी प्रोजेक्ट को ऐसे कंटेनर की तरह समझें जो संबंधित डेटाबेस संसाधनों को एक साथ समूहित करता है।
हर प्रोजेक्ट में कई क्लस्टर्स हो सकते हैं और उसके अपने उपयोगकर्ता व एक्सेस कंट्रोल होते हैं। जब आपके पास अलग-अलग एप्लिकेशन, परिवेश, या टीमें होती हैं जिन्हें पृथक डेटाबेस संसाधनों की आवश्यकता होती है, तो यह अलगाव उपयोगी होता है।
प्रोजेक्ट बनाएँ
नया प्रोजेक्ट बनाने के लिए चलाएँ:
atlas projects create <projectName>[options]संचालित द्वारा
ऐसा वर्णनात्मक नाम उपयोग करें जो प्रोजेक्ट के उद्देश्य को दर्शाए, जैसे "ecommerce-transactions" या "mobile-app-staging"।
[options] में वे फ्लैग शामिल होते हैं जो प्रोजेक्ट कैसे और कहाँ बनाया जाए, यह संशोधित करते हैं। उदाहरण के लिए, आप वह ऑर्गनाइज़ेशन निर्दिष्ट कर सकते हैं जिसमें प्रोजेक्ट बनाना है:
atlas projects create mobile-app-staging --orgId<organizationId>संचालित द्वारा
--orgId फ्लैग उस ऑर्गनाइज़ेशन को निर्दिष्ट करता है जिसमें प्रोजेक्ट बनाना है। यह आवश्यक है जब तक आपने कोई डिफ़ॉल्ट ऑर्गनाइज़ेशन सेट न किया हो। आप अपने ऑर्गनाइज़ेशन्स और उनके Id की सूची प्राप्त करने के लिए atlas organizations list कमांड चला सकते हैं।
In all examples, replace placeholders like <projectId>, <clusterName>, and <username> with your actual project, cluster, or user names and identifiers.संचालित द्वारा
प्रोजेक्ट अपडेट करें
प्रोजेक्ट सेटिंग्स अपडेट करने के लिए उपयोग करें:
atlas projects update <projectId>[options]संचालित द्वारा
उदाहरण के लिए, प्रोजेक्ट नाम बदलने हेतु --name फ्लैग का उपयोग कर सकते हैं:
atlas projects update <projectId>--name newProjectNameसंचालित द्वारा
प्रोजेक्ट सूचीबद्ध करें
अपने ऑर्गनाइज़ेशन के सभी प्रोजेक्ट सूचीबद्ध करने के लिए उपयोग करें:
आप Atlas CLI कमांड का उपयोग करके किसी प्रोजेक्ट को हटा सकते हैं।
atlas projects delete <projectId>--orgId<organizationId>संचालित द्वारा
आप ऐसे प्रोजेक्ट को नहीं हटा सकते जिसमें अभी भी सक्रिय क्लस्टर मौजूद हों। इसलिए प्रोजेक्ट हटाने से पहले, उसके भीतर सभी क्लस्टर हटा दें।
क्लस्टर्स प्रबंधित करें
क्लस्टर्स MongoDB सर्वरों के समूह होते हैं जो आपका डेटा स्टोर करते हैं। Atlas आपके क्लस्टर्स के लिए इन्फ्रास्ट्रक्चर, रेप्लिकेशन और बैकअप प्रबंधित करता है।
क्लस्टर बनाएँ
नया क्लस्टर बनाने के लिए चलाएँ:
atlas clusters create <clusterName>[options]संचालित द्वारा
[options] में वे फ्लैग शामिल होते हैं जो क्लस्टर कॉन्फ़िगरेशन निर्दिष्ट करते हैं। उदाहरण के लिए, आप क्लाउड प्रोवाइडर, क्षेत्र और MongoDB प्राइसिंग टियर कॉन्फ़िगर करने हेतु अतिरिक्त विकल्प शामिल कर सकते हैं:
इस कमांड में --provider फ्लैग क्लाउड प्रोवाइडर निर्दिष्ट करता है, जैसे AWS, GCP, या Azure। --region फ्लैग वह क्षेत्र निर्दिष्ट करता है जहाँ क्लस्टर डिप्लॉय होगा। --tier फ्लैग क्लस्टर का आकार निर्दिष्ट करता है।
यदि आपने डिफ़ॉल्ट प्रोजेक्ट सेट नहीं किया है, तो --projectId फ्लैग शामिल करें:
आप बिना हटाए किसी क्लस्टर को अस्थायी रूप से रोक सकते हैं। इससे क्लस्टर के ऑपरेशन्स रुक जाते हैं, लेकिन आपका डेटा और कॉन्फ़िगरेशन सुरक्षित रहता है:
atlas clusters pause <clusterName>--projectId<projectId>संचालित द्वारा
क्लस्टर हटाएँ
किसी क्लस्टर को स्थायी रूप से हटाने के लिए चलाएँ:
atlas clusters delete <clusterName>--projectId<projectId>संचालित द्वारा
क्लस्टर बनाने के बाद, उससे कनेक्ट करने से पहले आपको नेटवर्क सुरक्षा कॉन्फ़िगर करनी होगी।
IP एक्सेस लिस्ट कॉन्फ़िगरेशन प्रबंधित करें
IP एक्सेस लिस्ट यह नियंत्रित करती है कि कौन-से IP पते आपके MongoDB Atlas क्लस्टर्स से कनेक्ट कर सकते हैं। हर प्रोजेक्ट में अधिकतम 200 IP एक्सेस लिस्ट एंट्रीज़ हो सकती हैं। आप व्यक्तिगत IP पते, CIDR-नोटेशन रेंज, या AWS सिक्योरिटी ग्रुप IDs जोड़ सकते हैं। CIDR-नोटेशन रेंज बेस IP और प्रीफ़िक्स का उपयोग कर IP पतों का एक ब्लॉक परिभाषित करती है—जैसे, 192.168.0.0/24। AWS सिक्योरिटी ग्रुप ID निर्दिष्ट AWS सिक्योरिटी ग्रुप के भीतर सभी संसाधनों से एक्सेस की अनुमति देती है।
IP एक्सेस लिस्ट प्रबंधित करने के लिए, आपके पास प्रोजेक्ट पर Project Owner एक्सेस होना चाहिए।
एक्सेस लिस्ट में IP पते जोड़ें
अपना वर्तमान IP पता एक्सेस लिस्ट में जोड़ने के लिए चलाएँ:
atlas accessLists create --currentIp--projectId<projectId>संचालित द्वारा
--currentIp फ्लैग कमांड चलाने वाली मशीन का IP पता स्वतः जोड़ देता है। यह तब उपयोगी है जब आपको अपने डेवलपमेंट मशीन से त्वरित एक्सेस चाहिए।
किसी विशिष्ट IP पते को जोड़ने के लिए चलाएँ:
atlas accessLists create <ipAddress>--type ipAddress --projectId<projectId>संचालित द्वारा
<ipAddress> वह IP पता है जिसे आप अनुमति देना चाहते हैं। उदाहरण के लिए:
atlas accessLists create 192.0.2.15 --type ipAddress --comment"Office network"--projectId<projectId>संचालित द्वारा
--comment फ्लैग एक विवरण जोड़ता है जो बाद में एंट्री की पहचान करने में मदद करता है।
CIDR नोटेशन का उपयोग करके IP पतों की रेंज जोड़ने के लिए चलाएँ:
atlas accessLists create <cidrBlock>--type cidrBlock --projectId<projectId>संचालित द्वारा
उदाहरण के लिए:
atlas accessLists create 73.231.201.0/24 --type cidrBlock --comment"Development servers"--projectId<projectId>संचालित द्वारा
अस्थायी एक्सेस लिस्ट एंट्री बनाएँ
ऐसा IP पता जोड़ने के लिए जो निर्धारित समय के बाद अपने आप समाप्त हो जाए, --deleteAfter फ्लैग का उपयोग करें। आप अधिकतम सात दिन आगे तक की समाप्ति तिथि सेट कर सकते हैं:
atlas accessLists create <ipAddress>--type ipAddress --deleteAfter<isoDateTime>--projectId<projectId>संचालित द्वारा
--deleteAfter फ्लैग ISO-8601 फ़ॉर्मैट की तारीख स्वीकार करता है। उदाहरण के लिए:
निर्धारित दिनांक और समय के बाद MongoDB Atlas एंट्री को स्वतः हटा देता है।
IP एक्सेस लिस्ट एंट्री सूचीबद्ध करें
अपने प्रोजेक्ट में सभी IP एक्सेस लिस्ट एंट्री देखने के लिए चलाएँ:
atlas accessLists list --projectId<projectId>संचालित द्वारा
किसी विशिष्ट एंट्री का विवरण देखने के लिए चलाएँ:
atlas accessLists describe <entry>--projectId<projectId>संचालित द्वारा
<entry> वह IP पता, CIDR ब्लॉक, या AWS सिक्योरिटी ग्रुप ID है जिसे आप देखना चाहते हैं।
IP एक्सेस लिस्ट एंट्री हटाएँ
एक्सेस लिस्ट से कोई IP पता हटाने के लिए चलाएँ:
atlas accessLists delete <entry>--projectId<projectId>संचालित द्वारा
उपयोगकर्ता और रोल प्रबंधित करें
किसी रोल से विशिष्ट संसाधनों पर क्रियाओं के समूह करने के अधिकार मिलते हैं। उपयोगकर्ता वह इकाई है जिसे एक या अधिक रोल दिए जाते हैं, जो तय करते हैं कि वह डेटाबेस में क्या एक्सेस कर सकता/सकती है।
डेटाबेस उपयोगकर्ता और रोल कॉन्फ़िगर करने के लिए, आपके पास MongoDB Atlas में Organization Owner, Project Owner, या Project Database Access Admin एक्सेस होना चाहिए।
उपयोगकर्ता प्रबंधित करें
डेटाबेस उपयोगकर्ता बनाने के लिए चलाएँ:
atlas dbusers create [builtInRole][options]संचालित द्वारा
[builtInRole] वह एक या अधिक बिल्ट-इन रोल हैं जिन्हें उपयोगकर्ता को असाइन करना है। [options] में उपयोगकर्ता के क्रेडेंशियल्स और कॉन्फ़िगरेशन निर्दिष्ट करने वाले फ्लैग शामिल होते हैं। उदाहरण के लिए:
--username फ्लैग उपयोगकर्ता नाम निर्दिष्ट करता है। --password फ्लैग पासवर्ड निर्दिष्ट करता है। --role फ्लैग असाइन किए जाने वाले रोल को निर्दिष्ट करता है। इस मामले में, उपयोगकर्ता नाम myUser है, जबकि पासवर्ड myPassword है।
अपने प्रोजेक्ट के सभी डेटाबेस उपयोगकर्ताओं की सूची देखने के लिए चलाएँ:
किसी विशिष्ट डेटाबेस उपयोगकर्ता का विवरण देखने के लिए चलाएँ:
atlas dbusers describe <username>--projectId<projectId>संचालित द्वारा
आप डेटाबेस उपयोगकर्ता को अपडेट भी कर सकते हैं। उदाहरण के लिए, उपयोगकर्ता का पासवर्ड अपडेट करने हेतु चलाएँ:
atlas dbusers update myUser --password newPassword --projectId<projectId>संचालित द्वारा
उपयोगकर्ता के रोल अपडेट करने के लिए चलाएँ:
atlas dbusers update myUser --role readWriteAnyDatabase --role dbAdmin --projectId<projectId>संचालित द्वारा
किसी विशिष्ट डेटाबेस उपयोगकर्ता को हटाने के लिए चलाएँ:
atlas dbusers delete <username>--projectId<projectId>संचालित द्वारा
रोल प्रबंधित करें
उपयोगकर्ता को असाइन करने के लिए दो प्रकार के रोल उपलब्ध हैं:
बिल्ट-इन रोल
कस्टम रोल
बिल्ट-इन रोल
बिल्ट-इन रोल पूर्व-परिभाषित रोल हैं जो MongoDB Atlas प्रदान करता है। इनमें अलग-अलग डेटाबेस उपयोग मामलों के लिए सामान्य अनुमतियों के सेट शामिल होते हैं, जैसे:
read: किसी विशिष्ट डेटाबेस पर केवल-पढ़ने की अनुमति देता है।
readWrite: किसी विशिष्ट डेटाबेस में डेटा पढ़ने और संशोधित करने देता है।
readAnyDatabase:local और config डेटाबेस को छोड़कर सभी डेटाबेस पर केवल-पढ़ने की अनुमति देता है।
readWriteAnyDatabase: सभी डेटाबेस पर पढ़ने और लिखने की अनुमति देता है।
dbAdmin: किसी विशिष्ट डेटाबेस के लिए प्रशासनिक विशेषाधिकार प्रदान करता है, जैसे इंडेक्स बनाना या आँकड़े देखना।
dbAdminAnyDatabase: सभी डेटाबेस पर प्रशासनिक विशेषाधिकार देता है।
clusterAdmin: पूरे क्लस्टर का प्रबंधन करने देता है, जिसमें रेप्लिकेशन और शार्डिंग शामिल हैं।
userAdminAnyDatabase: सभी डेटाबेस में उपयोगकर्ता खाते और रोल बनाने व संशोधित करने देता है।
आप बिल्ट-इन रोल को न तो संपादित कर सकते हैं और न ही हटा सकते हैं। आप केवल उन्हें उपयोगकर्ताओं को असाइन कर सकते हैं। उपयोगकर्ता बनाते समय बिल्ट-इन रोल असाइन करने के लिए --role फ्लैग से रोल निर्दिष्ट करें:
मौजूदा उपयोगकर्ता का रोल असाइन या बदलने के लिए चलाएँ:
atlas dbusers update app-reader --role readWriteAnyDatabase --projectId<projectId>संचालित द्वारा
और अधिक बिल्ट-इन रोल देखने के लिए जो आप उपयोगकर्ताओं को असाइन कर सकते हैं, [Built-In Roles and Privileges](https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant) देखें।
कस्टम रोल
जब बिल्ट-इन रोल आपकी ज़रूरतें पूरी नहीं करते, तब MongoDB Atlas आपको कस्टम रोल बनाने देता है। कस्टम रोल आपके एप्लिकेशन या टीम की आवश्यकताओं के अनुरूप विशिष्ट प्रिविलेज क्रियाएँ परिभाषित करता है।
कस्टम रोल बनाते समय तय करें कि उपयोगकर्ताओं को किन कलेक्शन्स तक पहुँच होनी चाहिए और वे संसाधनों पर कौन-सी क्रियाएँ कर सकें—जैसे डेटा पढ़ना, जोड़ना, अपडेट करना या हटाना।
MongoDB प्रिविलेज परिभाषाओं में, आपको CLI कमांड में प्रिविलेज क्रिया का नाम uppercase में उपयोग करना होगा, जैसे FIND, न कि find। किसी संसाधन पर उपयोगकर्ता कौन-सी और परिभाषित विशेषाधिकार क्रियाएँ कर सकता है, इसके लिए Privilege Actions देखें।
आप Atlas CLI से कस्टम रोल प्रबंधित कर सकते हैं।
कस्टम रोल बनाने के लिए चलाएँ:
atlas customDbRoles create <roleName>[options]संचालित द्वारा
<roleName> वह नाम है जो आप बनाना चाहते हैं। [options] में रोल की permissions निर्दिष्ट करने वाले फ्लैग शामिल हैं—उदाहरण के लिए:
उपरोक्त कमांड मौजूदा customAnalyticsRole को अतिरिक्त प्रिविलेज देने के लिए अपडेट करता है। [email protected] रोल को analytics कलेक्शन से दस्तावेज़ पढ़ने देता है, और [email protected] उसे myDatabase डेटाबेस की logs कलेक्शन में दस्तावेज़ जोड़ने देता है।
--projectId फ्लैग यह निर्दिष्ट करता है कि रोल किस MongoDB Atlas प्रोजेक्ट का है।
कस्टम रोल हटाने के लिए चलाएँ:
atlas customDbRoles delete <roleName>--projectId<projectId>संचालित द्वारा
किसी उपयोगकर्ता को कस्टम रोल असाइन करने की प्रक्रिया बिल्ट-इन रोल असाइन करने जैसी ही है। atlas dbusers create या atlas dbusers update कमांड्स के साथ --role फ्लैग का उपयोग करें:
डेटाबेस उपयोगकर्ता बनाने और रोल असाइन करने के बाद, आप अपने क्लस्टर से कनेक्ट करने के लिए तैयार हैं।
कनेक्शन स्ट्रिंग्स प्राप्त करें
कनेक्शन स्ट्रिंग में वह जानकारी होती है जिसकी आपके एप्लिकेशन्स को आपके Atlas क्लस्टर से कनेक्ट होने के लिए आवश्यकता होती है। इस स्ट्रिंग में क्लस्टर होस्टनेम, ऑथेंटिकेशन डेटाबेस और कनेक्शन विकल्प शामिल होते हैं।
कनेक्शन स्ट्रिंग उपयोग करने से पहले, सुनिश्चित करें कि आपने IP एक्सेस लिस्ट कॉन्फ़िगर कर ली है और कम से कम एक डेटाबेस उपयोगकर्ता बना लिया है।
किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करें
किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करने के लिए चलाएँ:
atlas clusters connectionStrings describe <clusterName>--projectId<projectId>संचालित द्वारा
यह कमांड आपके क्लस्टर के लिए SRV कनेक्शन स्ट्रिंग लौटाती है।
कनेक्शन स्ट्रिंग फॉर्मैट
MongoDB Atlas दो प्रकार की कनेक्शन स्ट्रिंग प्रदान करता है:
स्टैंडर्ड कनेक्शन स्ट्रिंग (mongodb://): सभी क्लस्टर नोड्स को स्पष्ट रूप से सूचीबद्ध करता है। इसका उपयोग तब करें जब आपको व्यक्तिगत सर्वर पते निर्दिष्ट करने की आवश्यकता हो।
SRV कनेक्शन स्ट्रिंग (mongodb+srv://): DNS का उपयोग करके क्लस्टर जानकारी स्वतः प्राप्त करता है। यह अनुशंसित फॉर्मैट है क्योंकि आपके क्लस्टर कॉन्फ़िगरेशन में बदलाव होने पर यह अपने आप अपडेट हो जाता है।
कनेक्शन स्ट्रिंग का उपयोग करें
कनेक्शन स्ट्रिंग में <username> और <password> को अपने डेटाबेस उपयोगकर्ता क्रेडेंशियल्स से बदलें:
mongodb+srv://<username>:<password>@cluster0.example.mongodb.net/संचालित द्वारा
उदाहरण के लिए, यदि आपका उपयोगकर्ता नाम appUser और पासवर्ड securePass123 है:
इसके बाद आप इस कनेक्शन स्ट्रिंग का उपयोग MongoDB ड्राइवर्स, MongoDB शेल, या अन्य MongoDB टूल्स के साथ अपने क्लस्टर से कनेक्ट करने के लिए कर सकते हैं।
बैकअप प्रबंधित करें
बैकअप आपके डेटाबेस डेटा की प्रतिलिपियाँ हैं जिन्हें आप डेटा खो जाने या करप्ट होने पर अपने क्लस्टर को रिस्टोर करने के लिए उपयोग कर सकते हैं। Atlas नियमित शेड्यूल पर स्वचालित रूप से बैकअप बनाता है।
Automated continuous backups are only available for M10+ dedicated clusters. M0 free-tier clusters do not have backup capabilities. M2/M5 shared clusters have basic cloud backups, but not continuous backup. For more information, see [Snapshots for Flex Clusters](https://www.mongodb.com/docs/atlas/backup-restore-cluster/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant#snapshots-for-flex-clusters).संचालित द्वारा
बैकअप प्रबंधित करने के लिए, आपके पास Atlas में Organization Owner या Project Owner एक्सेस होना चाहिए।
ऑन-डिमांड बैकअप बनाएँ
तुरंत बैकअप बनाने के लिए चलाएँ:
atlas backups snapshots create <clusterName>--desc"Backup description"--projectId<projectId>संचालित द्वारा
उपरोक्त कमांड में --desc स्नैपशॉट का विवरण देने वाला आवश्यक फ्लैग है।
उपलब्ध बैकअप सूचीबद्ध करें
किसी क्लस्टर के सभी बैकअप सूचीबद्ध करने के लिए चलाएँ:
atlas backups snapshots list <clusterName>--projectId<projectId>संचालित द्वारा
बैकअप कॉन्फ़िग्रेशन का विवरण
किसी क्लस्टर की बैकअप सेटिंग्स देखने के लिए चलाएँ:
atlas backups schedule describe <clusterName>--projectId<projectId>संचालित द्वारा
बैकअप से रिस्टोर करें
बैकअप से डेटा रिस्टोर करने के लिए चलाएँ:
atlas backups restores start <clusterName>--snapshotId<snapshotId>--targetClusterName<targetClusterName>--projectId<projectId>संचालित द्वारा
--snapshotId फ्लैग यह निर्दिष्ट करता है कि किस बैकअप को रिस्टोर करना है। --targetClusterName फ्लैग उस क्लस्टर का नाम निर्दिष्ट करता है जहाँ डेटा रिस्टोर होगा—उदाहरण के लिए:
atlas backups snapshots delete <snapshotId>--projectId<projectId>संचालित द्वारा
निष्कर्ष
इस लेख में, मैंने आपको CLI कमांड्स की संरचना, डिप्लॉयमेंट बनाना, प्रोजेक्ट्स और क्लस्टर्स प्रबंधित करना, उपयोगकर्ता और रोल कॉन्फ़िगर करना, और बैकअप मैनेजमेंट के बारे में बताया। आप इन्हें स्क्रिप्ट्स में संयोजित करके इन प्रक्रियाओं को स्वचालित कर सकते हैं, जिससे कई परिवेश प्रबंधित करना और अपने डेवलपमेंट वर्कफ़्लो में डेटाबेस प्रबंधन को एकीकृत करना आसान हो जाता है।
FAQs
क्या मुझे हर बार MongoDB Atlas CLI उपयोग करते समय प्रमाणीकरण करना होगा?⌄
नहीं। आप atlas auth login चलाने के बाद CLI आपका सत्र स्टोर करता है। हालाँकि, सुरक्षा कारणों से सत्र समय-समय पर समाप्त हो जाता है। आपको केवल तब फिर से प्रमाणीकरण करना होगा जब आपको "session expired" त्रुटि दिखे।
क्या मैं फ्री टियर (M0) क्लस्टर्स के साथ Atlas CLI का उपयोग कर सकता/सकती हूँ?⌄
हाँ, आप अधिकांश ऑपरेशन्स जैसे उपयोगकर्ता बनाना, रोल प्रबंधित करना और क्लस्टर कॉन्फ़िगरेशन के लिए MongoDB Atlas CLI के साथ फ्री टियर क्लस्टर्स का प्रबंधन कर सकते हैं। हालाँकि, बैकअप ऑपरेशन्स फ्री या शेयर्ड-टियर क्लस्टर्स के लिए उपलब्ध नहीं हैं।
MongoDB Atlas उपयोगकर्ता रोल और डेटाबेस रोल में क्या अंतर है?⌄
Atlas उपयोगकर्ता रोल (जैसे Organization Owner, Project Owner, और Project Cluster Manager) नियंत्रित करते हैं कि UI, CLI, या API के माध्यम से MongoDB Atlas प्लेटफ़ॉर्म को कौन प्रबंधित कर सकता है। डेटाबेस रोल (जैसे read, readWrite, और कस्टम रोल) नियंत्रित करते हैं कि डेटाबेस से कनेक्ट होने पर डेटाबेस उपयोगकर्ता क्या कर सकते हैं। डेटाबेस उपयोगकर्ताओं को डेटाबेस रोल बनाने और असाइन करने के लिए आपको उपयुक्त Atlas उपयोगकर्ता रोल की आवश्यकता होती है।
क्या मैं एक ही CLI इंस्टॉलेशन से कई MongoDB Atlas प्रोजेक्ट्स प्रबंधित कर सकता/सकती हूँ?⌄
हाँ, आप एक ही CLI इंस्टॉलेशन से कई प्रोजेक्ट्स प्रबंधित कर सकते हैं। आप प्रमाणीकरण के दौरान कोई डिफ़ॉल्ट प्रोजेक्ट सेट कर सकते हैं, या अपनी कमांड्स में --projectId फ्लैग शामिल करके यह निर्दिष्ट कर सकते हैं कि किस प्रोजेक्ट का उपयोग करना है। कई ऑर्गनाइज़ेशन्स के साथ काम करने के लिए --orgId फ्लैग का उपयोग करें। आप अपने सभी प्रोजेक्ट्स को atlas projects list और ऑर्गनाइज़ेशन्स को atlas organizations list कमांड्स से सूचीबद्ध कर सकते हैं।
मैं अपना ऑर्गनाइज़ेशन ID और प्रोजेक्ट ID कैसे ढूँढूँ? ⌄
अपनी सभी ऑर्गनाइज़ेशन्स और उनके IDs देखने के लिए atlas organizations list चलाएँ। अपने सभी प्रोजेक्ट्स और उनके IDs देखने के लिए atlas projects list चलाएँ।
MongoDB Atlas एक क्लाउड-आधारित डेटाबेस सेवा है, जो आपको MongoDB डेटाबेस को डिप्लॉय, प्रबंधित और स्केल करने देती है। आप Atlas को Atlas UI, एक वेब-आधारित इंटरफ़ेस, या Atlas CLI, एक कमांड-लाइन टूल के ज़रिए प्रबंधित कर सकते हैं जो आपको वही कार्य कमांड्स से करने देता है।
MongoDB Atlas CLI, Atlas UI का एक तेज़ विकल्प प्रदान करता है। आप अपने टर्मिनल से सीधे डेटाबेस प्रबंधन कार्य चला और स्वचालित कर सकते हैं।
इस लेख में, मैं आपको Atlas CLI का उपयोग करके अपने डेटाबेस प्रबंधित करने की प्रक्रिया दिखाऊंगा।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास ये हों:
CLI कमांड्स की संरचना
MongoDB Atlas CLI एक सुसंगत कमांड संरचना का पालन करता है:
जब आप बिना किसी सबकमांड या फ्लैग के कोई कमांड चलाते हैं, तो CLI मदद संबंधी जानकारी दिखाता है, जिसमें शामिल होता है:
उदाहरण के लिए, यदि आप यह चलाते हैं:
तो आपको इस तरह का प्रत्युत्तर मिलेगा:
Atlas CLI में कमांड नाम, आर्ग्युमेंट्स और फ्लैग नाम case-sensitive होते हैं। उदाहरणों में दी गई सटीक कैपिटलाइज़ेशन का ही उपयोग करें—जैसे,
--orgIdन कि--orgID।MongoDB डिप्लॉयमेंट बनाएँ
डिप्लॉयमेंट MongoDB का एक रनिंग इंस्टेंस है जो आपका डेटा स्टोर और सर्व करता है। प्रत्येक डिप्लॉयमेंट में डेटाबेस सर्वर, स्टोरेज, नेटवर्किंग और स्वचालित बैकअप शामिल होते हैं। MongoDB Atlas इन्फ्रास्ट्रक्चर मैनेजमेंट संभालता है, ताकि आप सर्वर मेंटेन करने की बजाय डेटाबेस के उपयोग पर ध्यान केंद्रित कर सकें।
MongoDB डिप्लॉयमेंट बनाने के लिए, Atlas CLI इंस्टॉल या अपडेट करें, फिर यह कमांड चलाएँ:
atlas setup कमांड आपको एक इंटरैक्टिव प्रक्रिया से गुज़ारता है। यह आपसे कॉन्फ़िगरेशन विकल्प पूछता है और एक प्रोजेक्ट बनाता है, क्लस्टर प्रोविज़न करता है, और बुनियादी सुरक्षा सेटिंग्स कॉन्फ़िगर करता है।
मौजूदा डिप्लॉयमेंट से प्रमाणीकरण करें
यदि आपके पास पहले से MongoDB Atlas डिप्लॉयमेंट है और आप उसे CLI से प्रबंधित करना चाहते हैं, तो आपको प्रमाणीकरण करना होगा। लॉग इन करने के लिए चलाएँ:
यह कमांड आपसे प्रमाणीकरण प्रकार चुनने के लिए कहेगा, फिर एक वन-टाइम वेरिफिकेशन कोड देगा। कोड कॉपी करें और ब्राउज़र में माँगे जाने पर पेस्ट करें। उदाहरण के लिए:
प्रमाणीकरण के बाद, आप एक डिफ़ॉल्ट ऑर्गनाइज़ेशन और आउटपुट फ़ॉर्मैट चुनेंगे। CLI आपका सत्र स्टोर करता है, लेकिन यह समय-समय पर समाप्त हो जाता है। जब आपको "session expired" त्रुटि दिखे, तो
atlas auth loginफिर से चलाएँ।कई परिवेशों के लिए प्रोफ़ाइल प्रबंधित करें
प्रोफ़ाइल आपको एक ही CLI इंस्टॉलेशन से कई MongoDB Atlas परिवेश प्रबंधित करने देती हैं। प्रत्येक प्रोफ़ाइल किसी अलग परिवेश, जैसे डेवलपमेंट, स्टेजिंग, या प्रोडक्शन के लिए कनेक्शन सेटिंग्स स्टोर करती है।
प्रोफ़ाइल का उपयोग करके, आप बिना दोबारा प्रमाणीकरण किए या कॉन्फ़िगरेशन फ़ाइलें बदले, परिवेशों के बीच जल्दी स्विच कर सकते हैं। यह तब उपयोगी है जब आप अपने विकास वर्कफ़्लो के अलग-अलग चरणों के लिए अलग MongoDB Atlas प्रोजेक्ट्स या ऑर्गनाइज़ेशन्स बनाए रखते हैं।
आम तौर पर हर परिवेश के लिए अलग Atlas प्रोजेक्ट बनाना और उन्हें प्रोफ़ाइल से प्रबंधित करना बेहतर होता है—उदाहरण के लिए:
विभिन्न परिवेशों के लिए प्रोफ़ाइल बनाएँ
जब आप पहली बार
atlas auth loginचलाते हैं, तो CLI एक डिफ़ॉल्ट प्रोफ़ाइल बनाता है। अन्य परिवेशों के लिए अतिरिक्त प्रोफ़ाइल बनाने हेतु--profileफ्लैग का उपयोग करें:यह "dev" नाम की प्रोफ़ाइल बनाता है और आपको प्रमाणीकरण प्रक्रिया से गुज़ारता है। हर परिवेश के लिए इसे दोहराएँ:
हर प्रोफ़ाइल अपनी स्वयं की प्रमाणीकरण क्रेडेंशियल्स, डिफ़ॉल्ट प्रोजेक्ट और ऑर्गनाइज़ेशन सेटिंग्स स्टोर करती है।
उपलब्ध प्रोफ़ाइल सूचीबद्ध करें
सभी कॉन्फ़िगर की गई प्रोफ़ाइल देखने के लिए चलाएँ:
यह आपके द्वारा बनाई गई सभी प्रोफ़ाइल के नाम दिखाता है।
प्रोफ़ाइल विवरण देखें
किसी विशिष्ट प्रोफ़ाइल की कॉन्फ़िगरेशन देखने के लिए चलाएँ:
उदाहरण के लिए:
यह प्रोफ़ाइल की सेटिंग्स दिखाता है, जिनमें डिफ़ॉल्ट ऑर्गनाइज़ेशन और प्रोजेक्ट IDs शामिल हैं।
प्रोफ़ाइल के बीच स्विच करें
किसी कमांड के लिए एक विशिष्ट प्रोफ़ाइल का उपयोग करने के लिए,
--profileफ्लैग जोड़ें:यह प्रोडक्शन प्रोफ़ाइल के क्रेडेंशियल्स और सेटिंग्स का उपयोग करके क्लस्टर्स सूचीबद्ध करता है।
आप एक डिफ़ॉल्ट प्रोफ़ाइल भी सेट कर सकते हैं ताकि हर कमांड के साथ उसे निर्दिष्ट करने की आवश्यकता न हो:
डिफ़ॉल्ट सेट करने के बाद, सभी कमांड उसी प्रोफ़ाइल का उपयोग करेंगे जब तक कि आप
--profileफ्लैग से उसे ओवरराइड न करें।प्रोफ़ाइल सेटिंग्स अपडेट करें
किसी प्रोफ़ाइल की कॉन्फ़िगरेशन संशोधित करने के लिए चलाएँ:
उदाहरण के लिए, dev प्रोफ़ाइल के लिए डिफ़ॉल्ट प्रोजेक्ट सेट करने हेतु:
प्रोफ़ाइल का नाम बदलें
प्रोफ़ाइल का नाम बदलने के लिए चलाएँ:
उदाहरण के लिए:
प्रोजेक्ट्स प्रबंधित करें
MongoDB Atlas में प्रोजेक्ट्स आपके क्लस्टर्स, उपयोगकर्ताओं और सेटिंग्स को व्यवस्थित करते हैं। किसी प्रोजेक्ट को ऐसे कंटेनर की तरह समझें जो संबंधित डेटाबेस संसाधनों को एक साथ समूहित करता है।
हर प्रोजेक्ट में कई क्लस्टर्स हो सकते हैं और उसके अपने उपयोगकर्ता व एक्सेस कंट्रोल होते हैं। जब आपके पास अलग-अलग एप्लिकेशन, परिवेश, या टीमें होती हैं जिन्हें पृथक डेटाबेस संसाधनों की आवश्यकता होती है, तो यह अलगाव उपयोगी होता है।
प्रोजेक्ट बनाएँ
नया प्रोजेक्ट बनाने के लिए चलाएँ:
ऐसा वर्णनात्मक नाम उपयोग करें जो प्रोजेक्ट के उद्देश्य को दर्शाए, जैसे "ecommerce-transactions" या "mobile-app-staging"।
[options]में वे फ्लैग शामिल होते हैं जो प्रोजेक्ट कैसे और कहाँ बनाया जाए, यह संशोधित करते हैं। उदाहरण के लिए, आप वह ऑर्गनाइज़ेशन निर्दिष्ट कर सकते हैं जिसमें प्रोजेक्ट बनाना है:--orgIdफ्लैग उस ऑर्गनाइज़ेशन को निर्दिष्ट करता है जिसमें प्रोजेक्ट बनाना है। यह आवश्यक है जब तक आपने कोई डिफ़ॉल्ट ऑर्गनाइज़ेशन सेट न किया हो। आप अपने ऑर्गनाइज़ेशन्स और उनकेIdकी सूची प्राप्त करने के लिएatlas organizations listकमांड चला सकते हैं।प्रोजेक्ट अपडेट करें
प्रोजेक्ट सेटिंग्स अपडेट करने के लिए उपयोग करें:
उदाहरण के लिए, प्रोजेक्ट नाम बदलने हेतु
--nameफ्लैग का उपयोग कर सकते हैं:प्रोजेक्ट सूचीबद्ध करें
अपने ऑर्गनाइज़ेशन के सभी प्रोजेक्ट सूचीबद्ध करने के लिए उपयोग करें:
उपरोक्त कमांड में
--orgIdफ्लैग विकल्प के रूप में यह निर्दिष्ट करता है कि किस ऑर्गनाइज़ेशन से प्रोजेक्ट सूचीबद्ध करने हैं:आप आउटपुट फ़ॉर्मैट भी नियंत्रित कर सकते हैं, जैसे परिणामों को JSON में दिखाना:
प्रोजेक्ट हटाएँ
आप Atlas CLI कमांड का उपयोग करके किसी प्रोजेक्ट को हटा सकते हैं।
आप ऐसे प्रोजेक्ट को नहीं हटा सकते जिसमें अभी भी सक्रिय क्लस्टर मौजूद हों। इसलिए प्रोजेक्ट हटाने से पहले, उसके भीतर सभी क्लस्टर हटा दें।
क्लस्टर्स प्रबंधित करें
क्लस्टर्स MongoDB सर्वरों के समूह होते हैं जो आपका डेटा स्टोर करते हैं। Atlas आपके क्लस्टर्स के लिए इन्फ्रास्ट्रक्चर, रेप्लिकेशन और बैकअप प्रबंधित करता है।
क्लस्टर बनाएँ
नया क्लस्टर बनाने के लिए चलाएँ:
[options]में वे फ्लैग शामिल होते हैं जो क्लस्टर कॉन्फ़िगरेशन निर्दिष्ट करते हैं। उदाहरण के लिए, आप क्लाउड प्रोवाइडर, क्षेत्र और MongoDB प्राइसिंग टियर कॉन्फ़िगर करने हेतु अतिरिक्त विकल्प शामिल कर सकते हैं:इस कमांड में
--providerफ्लैग क्लाउड प्रोवाइडर निर्दिष्ट करता है, जैसे AWS, GCP, या Azure।--regionफ्लैग वह क्षेत्र निर्दिष्ट करता है जहाँ क्लस्टर डिप्लॉय होगा।--tierफ्लैग क्लस्टर का आकार निर्दिष्ट करता है।यदि आपने डिफ़ॉल्ट प्रोजेक्ट सेट नहीं किया है, तो
--projectIdफ्लैग शामिल करें:क्लस्टर का विवरण देखें
किसी विशिष्ट क्लस्टर का विवरण देखने के लिए चलाएँ:
यह कमांड क्लस्टर की कॉन्फ़िगरेशन, आकार, क्षेत्र और कनेक्शन स्ट्रिंग्स दिखाती है।
क्लस्टर सूचीबद्ध करें
अपने प्रोजेक्ट के सभी क्लस्टर सूचीबद्ध करने के लिए चलाएँ:
--projectIdफ्लैग आवश्यक है जब तक आपने डिफ़ॉल्ट प्रोजेक्ट सेट नहीं किया है, जैसे:क्लस्टर को रोकें (Pause)
आप बिना हटाए किसी क्लस्टर को अस्थायी रूप से रोक सकते हैं। इससे क्लस्टर के ऑपरेशन्स रुक जाते हैं, लेकिन आपका डेटा और कॉन्फ़िगरेशन सुरक्षित रहता है:
क्लस्टर हटाएँ
किसी क्लस्टर को स्थायी रूप से हटाने के लिए चलाएँ:
क्लस्टर बनाने के बाद, उससे कनेक्ट करने से पहले आपको नेटवर्क सुरक्षा कॉन्फ़िगर करनी होगी।
IP एक्सेस लिस्ट कॉन्फ़िगरेशन प्रबंधित करें
IP एक्सेस लिस्ट यह नियंत्रित करती है कि कौन-से IP पते आपके MongoDB Atlas क्लस्टर्स से कनेक्ट कर सकते हैं। हर प्रोजेक्ट में अधिकतम 200 IP एक्सेस लिस्ट एंट्रीज़ हो सकती हैं। आप व्यक्तिगत IP पते, CIDR-नोटेशन रेंज, या AWS सिक्योरिटी ग्रुप IDs जोड़ सकते हैं। CIDR-नोटेशन रेंज बेस IP और प्रीफ़िक्स का उपयोग कर IP पतों का एक ब्लॉक परिभाषित करती है—जैसे,
192.168.0.0/24। AWS सिक्योरिटी ग्रुप ID निर्दिष्ट AWS सिक्योरिटी ग्रुप के भीतर सभी संसाधनों से एक्सेस की अनुमति देती है।IP एक्सेस लिस्ट प्रबंधित करने के लिए, आपके पास प्रोजेक्ट पर Project Owner एक्सेस होना चाहिए।
एक्सेस लिस्ट में IP पते जोड़ें
अपना वर्तमान IP पता एक्सेस लिस्ट में जोड़ने के लिए चलाएँ:
--currentIpफ्लैग कमांड चलाने वाली मशीन का IP पता स्वतः जोड़ देता है। यह तब उपयोगी है जब आपको अपने डेवलपमेंट मशीन से त्वरित एक्सेस चाहिए।किसी विशिष्ट IP पते को जोड़ने के लिए चलाएँ:
<ipAddress>वह IP पता है जिसे आप अनुमति देना चाहते हैं। उदाहरण के लिए:--commentफ्लैग एक विवरण जोड़ता है जो बाद में एंट्री की पहचान करने में मदद करता है।CIDR नोटेशन का उपयोग करके IP पतों की रेंज जोड़ने के लिए चलाएँ:
उदाहरण के लिए:
अस्थायी एक्सेस लिस्ट एंट्री बनाएँ
ऐसा IP पता जोड़ने के लिए जो निर्धारित समय के बाद अपने आप समाप्त हो जाए,
--deleteAfterफ्लैग का उपयोग करें। आप अधिकतम सात दिन आगे तक की समाप्ति तिथि सेट कर सकते हैं:--deleteAfterफ्लैग ISO-8601 फ़ॉर्मैट की तारीख स्वीकार करता है। उदाहरण के लिए:निर्धारित दिनांक और समय के बाद MongoDB Atlas एंट्री को स्वतः हटा देता है।
IP एक्सेस लिस्ट एंट्री सूचीबद्ध करें
अपने प्रोजेक्ट में सभी IP एक्सेस लिस्ट एंट्री देखने के लिए चलाएँ:
किसी विशिष्ट एंट्री का विवरण देखने के लिए चलाएँ:
<entry>वह IP पता, CIDR ब्लॉक, या AWS सिक्योरिटी ग्रुप ID है जिसे आप देखना चाहते हैं।IP एक्सेस लिस्ट एंट्री हटाएँ
एक्सेस लिस्ट से कोई IP पता हटाने के लिए चलाएँ:
उपयोगकर्ता और रोल प्रबंधित करें
किसी रोल से विशिष्ट संसाधनों पर क्रियाओं के समूह करने के अधिकार मिलते हैं। उपयोगकर्ता वह इकाई है जिसे एक या अधिक रोल दिए जाते हैं, जो तय करते हैं कि वह डेटाबेस में क्या एक्सेस कर सकता/सकती है।
डेटाबेस उपयोगकर्ता और रोल कॉन्फ़िगर करने के लिए, आपके पास MongoDB Atlas में Organization Owner, Project Owner, या Project Database Access Admin एक्सेस होना चाहिए।
उपयोगकर्ता प्रबंधित करें
डेटाबेस उपयोगकर्ता बनाने के लिए चलाएँ:
[builtInRole]वह एक या अधिक बिल्ट-इन रोल हैं जिन्हें उपयोगकर्ता को असाइन करना है।[options]में उपयोगकर्ता के क्रेडेंशियल्स और कॉन्फ़िगरेशन निर्दिष्ट करने वाले फ्लैग शामिल होते हैं। उदाहरण के लिए:--usernameफ्लैग उपयोगकर्ता नाम निर्दिष्ट करता है।--passwordफ्लैग पासवर्ड निर्दिष्ट करता है।--roleफ्लैग असाइन किए जाने वाले रोल को निर्दिष्ट करता है। इस मामले में, उपयोगकर्ता नामmyUserहै, जबकि पासवर्डmyPasswordहै।अपने प्रोजेक्ट के सभी डेटाबेस उपयोगकर्ताओं की सूची देखने के लिए चलाएँ:
किसी विशिष्ट डेटाबेस उपयोगकर्ता का विवरण देखने के लिए चलाएँ:
आप डेटाबेस उपयोगकर्ता को अपडेट भी कर सकते हैं। उदाहरण के लिए, उपयोगकर्ता का पासवर्ड अपडेट करने हेतु चलाएँ:
उपयोगकर्ता के रोल अपडेट करने के लिए चलाएँ:
किसी विशिष्ट डेटाबेस उपयोगकर्ता को हटाने के लिए चलाएँ:
रोल प्रबंधित करें
उपयोगकर्ता को असाइन करने के लिए दो प्रकार के रोल उपलब्ध हैं:
बिल्ट-इन रोल
बिल्ट-इन रोल पूर्व-परिभाषित रोल हैं जो MongoDB Atlas प्रदान करता है। इनमें अलग-अलग डेटाबेस उपयोग मामलों के लिए सामान्य अनुमतियों के सेट शामिल होते हैं, जैसे:
localऔरconfigडेटाबेस को छोड़कर सभी डेटाबेस पर केवल-पढ़ने की अनुमति देता है।आप बिल्ट-इन रोल को न तो संपादित कर सकते हैं और न ही हटा सकते हैं। आप केवल उन्हें उपयोगकर्ताओं को असाइन कर सकते हैं। उपयोगकर्ता बनाते समय बिल्ट-इन रोल असाइन करने के लिए
--roleफ्लैग से रोल निर्दिष्ट करें:मौजूदा उपयोगकर्ता का रोल असाइन या बदलने के लिए चलाएँ:
और अधिक बिल्ट-इन रोल देखने के लिए जो आप उपयोगकर्ताओं को असाइन कर सकते हैं, [Built-In Roles and Privileges](https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant) देखें।
कस्टम रोल
जब बिल्ट-इन रोल आपकी ज़रूरतें पूरी नहीं करते, तब MongoDB Atlas आपको कस्टम रोल बनाने देता है। कस्टम रोल आपके एप्लिकेशन या टीम की आवश्यकताओं के अनुरूप विशिष्ट प्रिविलेज क्रियाएँ परिभाषित करता है।
कस्टम रोल बनाते समय तय करें कि उपयोगकर्ताओं को किन कलेक्शन्स तक पहुँच होनी चाहिए और वे संसाधनों पर कौन-सी क्रियाएँ कर सकें—जैसे डेटा पढ़ना, जोड़ना, अपडेट करना या हटाना।
MongoDB प्रिविलेज परिभाषाओं में, आपको CLI कमांड में प्रिविलेज क्रिया का नाम uppercase में उपयोग करना होगा, जैसे FIND, न कि find। किसी संसाधन पर उपयोगकर्ता कौन-सी और परिभाषित विशेषाधिकार क्रियाएँ कर सकता है, इसके लिए Privilege Actions देखें।
आप Atlas CLI से कस्टम रोल प्रबंधित कर सकते हैं।
कस्टम रोल बनाने के लिए चलाएँ:
<roleName>वह नाम है जो आप बनाना चाहते हैं।[options]में रोल की permissions निर्दिष्ट करने वाले फ्लैग शामिल हैं—उदाहरण के लिए:उपरोक्त कमांड में:
customAnalyticsRoleनए कस्टम रोल का नाम है। आप कोई भी वर्णनात्मक नाम चुन सकते हैं जो रोल के उद्देश्य को दर्शाए।--privilegeफ्लैग यह निर्दिष्ट करता है कि रोल संसाधनों पर कौन-सी क्रियाएँ कर सकता है।[email protected]होता है, जहाँ@एक्शन और रिसोर्स को अलग करता है।FINDMongoDB द्वारा मान्य एक प्रिविलेज एक्शन है।myDatabase.usersवह संसाधन है जिस पर प्रिविलेज लागू होता है—यहाँmyDatabaseडेटाबेस की users कलेक्शन।कस्टम रोल का विवरण देखने के लिए चलाएँ:
उपरोक्त कमांड सभी कस्टम रोल और उनकी permissions दिखाता है।
कस्टम रोल अपडेट करने के लिए चलाएँ:
[options]में यह निर्दिष्ट करने वाले फ्लैग शामिल होते हैं कि क्या अपडेट करना है। उदाहरण के लिए, किसी मौजूदा रोल में नया प्रिविलेज जोड़ने हेतु चलाएँ:उपरोक्त कमांड मौजूदा
customAnalyticsRoleको अतिरिक्त प्रिविलेज देने के लिए अपडेट करता है।[email protected]रोल कोanalyticsकलेक्शन से दस्तावेज़ पढ़ने देता है, और[email protected]उसेmyDatabaseडेटाबेस कीlogsकलेक्शन में दस्तावेज़ जोड़ने देता है।--projectIdफ्लैग यह निर्दिष्ट करता है कि रोल किस MongoDB Atlas प्रोजेक्ट का है।कस्टम रोल हटाने के लिए चलाएँ:
किसी उपयोगकर्ता को कस्टम रोल असाइन करने की प्रक्रिया बिल्ट-इन रोल असाइन करने जैसी ही है।
atlas dbusers createयाatlas dbusers updateकमांड्स के साथ--roleफ्लैग का उपयोग करें:डेटाबेस उपयोगकर्ता बनाने और रोल असाइन करने के बाद, आप अपने क्लस्टर से कनेक्ट करने के लिए तैयार हैं।
कनेक्शन स्ट्रिंग्स प्राप्त करें
कनेक्शन स्ट्रिंग में वह जानकारी होती है जिसकी आपके एप्लिकेशन्स को आपके Atlas क्लस्टर से कनेक्ट होने के लिए आवश्यकता होती है। इस स्ट्रिंग में क्लस्टर होस्टनेम, ऑथेंटिकेशन डेटाबेस और कनेक्शन विकल्प शामिल होते हैं।
कनेक्शन स्ट्रिंग उपयोग करने से पहले, सुनिश्चित करें कि आपने IP एक्सेस लिस्ट कॉन्फ़िगर कर ली है और कम से कम एक डेटाबेस उपयोगकर्ता बना लिया है।
किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करें
किसी क्लस्टर की कनेक्शन स्ट्रिंग प्राप्त करने के लिए चलाएँ:
यह कमांड आपके क्लस्टर के लिए SRV कनेक्शन स्ट्रिंग लौटाती है।
कनेक्शन स्ट्रिंग फॉर्मैट
MongoDB Atlas दो प्रकार की कनेक्शन स्ट्रिंग प्रदान करता है:
स्टैंडर्ड कनेक्शन स्ट्रिंग (
mongodb://): सभी क्लस्टर नोड्स को स्पष्ट रूप से सूचीबद्ध करता है। इसका उपयोग तब करें जब आपको व्यक्तिगत सर्वर पते निर्दिष्ट करने की आवश्यकता हो।SRV कनेक्शन स्ट्रिंग (
mongodb+srv://): DNS का उपयोग करके क्लस्टर जानकारी स्वतः प्राप्त करता है। यह अनुशंसित फॉर्मैट है क्योंकि आपके क्लस्टर कॉन्फ़िगरेशन में बदलाव होने पर यह अपने आप अपडेट हो जाता है।कनेक्शन स्ट्रिंग का उपयोग करें
कनेक्शन स्ट्रिंग में
<username>और<password>को अपने डेटाबेस उपयोगकर्ता क्रेडेंशियल्स से बदलें:उदाहरण के लिए, यदि आपका उपयोगकर्ता नाम
appUserऔर पासवर्डsecurePass123है:इसके बाद आप इस कनेक्शन स्ट्रिंग का उपयोग MongoDB ड्राइवर्स, MongoDB शेल, या अन्य MongoDB टूल्स के साथ अपने क्लस्टर से कनेक्ट करने के लिए कर सकते हैं।
बैकअप प्रबंधित करें
बैकअप आपके डेटाबेस डेटा की प्रतिलिपियाँ हैं जिन्हें आप डेटा खो जाने या करप्ट होने पर अपने क्लस्टर को रिस्टोर करने के लिए उपयोग कर सकते हैं। Atlas नियमित शेड्यूल पर स्वचालित रूप से बैकअप बनाता है।
बैकअप प्रबंधित करने के लिए, आपके पास Atlas में Organization Owner या Project Owner एक्सेस होना चाहिए।
ऑन-डिमांड बैकअप बनाएँ
तुरंत बैकअप बनाने के लिए चलाएँ:
उपरोक्त कमांड में
--descस्नैपशॉट का विवरण देने वाला आवश्यक फ्लैग है।उपलब्ध बैकअप सूचीबद्ध करें
किसी क्लस्टर के सभी बैकअप सूचीबद्ध करने के लिए चलाएँ:
बैकअप कॉन्फ़िग्रेशन का विवरण
किसी क्लस्टर की बैकअप सेटिंग्स देखने के लिए चलाएँ:
बैकअप से रिस्टोर करें
बैकअप से डेटा रिस्टोर करने के लिए चलाएँ:
--snapshotIdफ्लैग यह निर्दिष्ट करता है कि किस बैकअप को रिस्टोर करना है।--targetClusterNameफ्लैग उस क्लस्टर का नाम निर्दिष्ट करता है जहाँ डेटा रिस्टोर होगा—उदाहरण के लिए:बैकअप हटाएँ
किसी बैकअप को हटाने के लिए चलाएँ:
निष्कर्ष
इस लेख में, मैंने आपको CLI कमांड्स की संरचना, डिप्लॉयमेंट बनाना, प्रोजेक्ट्स और क्लस्टर्स प्रबंधित करना, उपयोगकर्ता और रोल कॉन्फ़िगर करना, और बैकअप मैनेजमेंट के बारे में बताया। आप इन्हें स्क्रिप्ट्स में संयोजित करके इन प्रक्रियाओं को स्वचालित कर सकते हैं, जिससे कई परिवेश प्रबंधित करना और अपने डेवलपमेंट वर्कफ़्लो में डेटाबेस प्रबंधन को एकीकृत करना आसान हो जाता है।