मोंगोडीबी NoSQL की अत्याधुनिक तकनीक पर आधारित एक खुला स्रोत, आधुनिक दस्तावेज़ डेटाबेस प्रबंधन प्रणाली है जिसे उच्च प्रदर्शन डेटा दृढ़ता, उच्च उपलब्धता, साथ ही स्वचालित स्केलिंग के लिए डिज़ाइन किया गया है। . के अंतर्गत MongoDB , एक रिकॉर्ड एक दस्तावेज़ है, जो एक डेटा संरचना है जिसमें फ़ील्ड और मूल्य जोड़े शामिल होते हैं (MongoDB दस्तावेज़ JSON ऑब्जेक्ट से तुलनीय होते हैं)।
क्योंकि यह उच्च प्रदर्शन और महान मापनीयता सुविधाएँ प्रदान करता है, इसका उपयोग आधुनिक अनुप्रयोगों के निर्माण के लिए किया जा रहा है जिनके लिए शक्तिशाली, मिशन-महत्वपूर्ण और उच्च-उपलब्धता डेटाबेस की आवश्यकता होती है।
इस लेख में, हम बताएंगे कि MongoDB को कैसे स्थापित करें , इसकी सेवा प्रबंधित करें और Ubuntu 18.04 . पर बुनियादी प्रमाणीकरण सेटअप करें ।
महत्वपूर्ण :आपको ध्यान देना चाहिए कि MongoDB . के डेवलपर केवल 64-बिट LTS . के लिए पैकेज ऑफ़र करें (दीर्घकालिक समर्थन) Ubuntu रिलीज़ जैसे 14.04 LTS (भरोसेमंद), 16.04 एलटीएस (ज़ेनियल), और इसी तरह।
चरण 1:Ubuntu 18.04 पर MongoDB स्थापित करना
1. उबंटू का आधिकारिक सॉफ्टवेयर पैकेज रिपॉजिटरी MongoDB . के नवीनतम संस्करण के साथ आता है , और एपीटी पैकेज मैनेजर का उपयोग करके आसानी से स्थापित किया जा सकता है।
रिपोजिटरी लिस्टिंग का नवीनतम संस्करण प्राप्त करने के लिए पहले सिस्टम सॉफ्टवेयर पैकेज कैशे को अपडेट करें।
$ sudo apt update
2. इसके बाद, MongoDB पैकेज स्थापित करें जिसमें कई अन्य पैकेज शामिल हैं जैसे mongo-tools , मोंगोडब-क्लाइंट , मोंगोडब-सर्वर और मोंगोडब-सर्वर-कोर ।
$ sudo apt install mongodb
3. एक बार जब आप इसे सफलतापूर्वक स्थापित कर लेते हैं, तो MongoDB सेवा सिस्टमड के माध्यम से स्वचालित रूप से शुरू हो जाएगी और प्रक्रिया पोर्ट पर सुनती है 27017 . आप दिखाए गए अनुसार systemctl कमांड का उपयोग करके इसकी स्थिति सत्यापित कर सकते हैं।
$ sudo systemctl status mongodb
चरण 2:MongoDB सेवा का प्रबंधन
4. मोंगोडीबी संस्थापन एक systemd सेवा के रूप में आता है और दिखाए गए अनुसार एक मानक systemd कमांड के माध्यम से आसानी से प्रबंधित किया जा सकता है।
MongoDB सेवा चलाना बंद करने के लिए, निम्न आदेश चलाएँ।
$ sudo systemctl stop mongodb
MongoDB सेवा शुरू करने के लिए, निम्न कमांड टाइप करें।
$ sudo systemctl start mongodb
MongoDB सेवा को पुनरारंभ करने के लिए, निम्न आदेश टाइप करें।
$ sudo systemctl restart mongodb
स्वचालित रूप से प्रारंभ की गई MongoDB सेवा को अक्षम करने के लिए, निम्न आदेश टाइप करें।
$ sudo systemctl disable mongodb
MongoDB सेवा को फिर से सक्षम करने के लिए, निम्न कमांड टाइप करें।
$ sudo systemctl enable mongodb
चरण 3:फ़ायरवॉल पर दूरस्थ MongoDB एक्सेस सक्षम करें
5. डिफ़ॉल्ट रूप से MongoDB पोर्ट पर चलता है 27017 , हर उस जगह से पहुंच की अनुमति देने के लिए जिसका आप उपयोग कर सकते हैं।
$ sudo ufw allow 27017
लेकिन MongoDB तक पहुंच सक्षम करना हर जगह से डेटाबेस डेटा तक अप्रतिबंधित पहुंच प्रदान करता है। इसलिए, निम्न आदेश का उपयोग करके डिफ़ॉल्ट मोंगोडीबी के पोर्ट को विशिष्ट आईपी पता स्थान तक पहुंच देना बेहतर है।
$ sudo ufw allow from your_server_IP/32 to any port 27017 $ sudo ufw status
6. डिफ़ॉल्ट रूप से पोर्ट 27017 स्थानीय पते पर सुनता है 127.0.0.1 केवल। दूरस्थ MongoDB कनेक्शन की अनुमति देने के लिए, आपको /etc/mongodb.conf में अपना सर्वर IP पता जोड़ना होगा कॉन्फ़िगरेशन फ़ाइल जैसा दिखाया गया है।
bind_ip = 127.0.0.1,your_server_ip #port = 27017
फ़ाइल सहेजें, संपादक से बाहर निकलें, और MongoDB को पुनरारंभ करें।
$ sudo systemctl restart mongodb
चरण 4:MongoDB डेटाबेस रूट उपयोगकर्ता और पासवर्ड बनाएं
7. डिफ़ॉल्ट रूप से MongoDB उपयोगकर्ता प्रमाणीकरण अक्षम के साथ आता है, इसलिए यह बिना अभिगम नियंत्रण के शुरू हुआ। मोंगो शेल को लॉन्च करने के लिए , निम्न आदेश चलाएँ।
$ mongo
8. एक बार जब आप मोंगो शेल . से जुड़ जाते हैं , आप सभी उपलब्ध डेटाबेस को निम्न कमांड के साथ सूचीबद्ध कर सकते हैं।
> show dbs
9. प्रमाणीकरण लागू करने के लिए अपने MongoDB परिनियोजन पर अभिगम नियंत्रण सक्षम करने के लिए; उपयोगकर्ताओं को हर बार डेटाबेस सर्वर से कनेक्ट होने पर स्वयं को पहचानने की आवश्यकता होती है।
MongoDB नमकीन चुनौती प्रतिक्रिया प्रमाणीकरण तंत्र का उपयोग करता है (स्क्रैम ) डिफ़ॉल्ट रूप से प्रमाणीकरण तंत्र। स्क्रैम का उपयोग करना , MongoDB उपयोगकर्ता के नाम, पासवर्ड और प्रमाणीकरण डेटाबेस (जिस डेटाबेस में उपयोगकर्ता बनाया गया था, और उपयोगकर्ता के नाम के साथ, उपयोगकर्ता की पहचान करने के लिए कार्य करता है) के विरुद्ध आपूर्ति किए गए उपयोगकर्ता क्रेडेंशियल्स की पुष्टि करता है।
आपको एक उपयोगकर्ता व्यवस्थापक बनाने की आवश्यकता है (MySQL/MariaDB . के अंतर्गत रूट उपयोगकर्ता के समान) ) व्यवस्थापक डेटाबेस में। यह उपयोगकर्ता उपयोगकर्ता और भूमिकाओं को प्रशासित कर सकता है जैसे कि उपयोगकर्ता बनाना, उपयोगकर्ताओं से भूमिकाएँ देना या रद्द करना, और कस्टम भूमिकाएँ बनाना या संशोधित करना।
पहले व्यवस्थापक . पर स्विच करें डेटाबेस बनाएं, फिर रूट उपयोगकर्ता . बनाएं निम्नलिखित आदेशों का उपयोग करना।
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
अब आगे बताए अनुसार प्रमाणीकरण को सक्षम करने के लिए मोंगो शेल से बाहर निकलें।
10. मोंगोडब इंस्टेंस --auth
. के बिना शुरू किया गया था कमांड लाइन विकल्प। आपको /lib/systemd/system/mongod.service संपादित करके उपयोगकर्ताओं के प्रमाणीकरण को सक्षम करने की आवश्यकता है फ़ाइल, पहले फ़ाइल को इस प्रकार संपादित करने के लिए खोलें।
$ sudo vim /lib/systemd/system/mongodb.service
[Service]
के तहत config अनुभाग में, पैरामीटर खोजें ExecStart ।
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
इसे निम्न में बदलें:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
फ़ाइल को सहेजें और उससे बाहर निकलें।
11. 8. कॉन्फ़िगरेशन फ़ाइल में परिवर्तन करने के बाद, 'systemctl daemon-reload . चलाएँ ' इकाइयों को फिर से लोड करने और MongoDB सेवा को पुनरारंभ करने के लिए और इसकी स्थिति निम्नानुसार जांचें।
$ systemctl daemon-reload $ sudo systemctl restart mongodb $ sudo systemctl status mongodb
12. अब जब आप mongodb . से कनेक्ट करने का प्रयास करते हैं , आपको स्वयं को एक MongoDB उपयोगकर्ता के रूप में प्रमाणित करना होगा। उदाहरण के लिए:
$ mongo -u "root" -p --authenticationDatabase "admin"
नोट :कमांड-लाइन पर अपना पासवर्ड दर्ज करने की अनुशंसा नहीं की जाती है क्योंकि यह शेल इतिहास फ़ाइल में संग्रहीत किया जाएगा और बाद में एक हमलावर द्वारा देखा जा सकता है।
बस इतना ही! मोंगोडीबी एक खुला स्रोत, आधुनिक नो-एसक्यूएल डेटाबेस प्रबंधन प्रणाली है जो उच्च प्रदर्शन, उच्च उपलब्धता और स्वचालित स्केलिंग प्रदान करती है।
इस लेख में, हमने बताया है कि कैसे स्थापित करें और MongoDB . के साथ आरंभ करें उबंटू 18.04 . में . यदि आपके कोई प्रश्न हैं, तो हम तक पहुंचने के लिए नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।