Ubuntu पर MongoDB डेटाबेस सिस्टम कैसे स्थापित करें?

MongoDB

इस ब्लॉग में हमने कुछ डेटाबेस सिस्टम के बारे में बात की है, जिनमें से सबसे लोकप्रिय हैं मारबीडीबी और माईएसक्यूएल, क्योंकि वे सिस्टम हैं जो आमतौर पर ज़ैम्प या लैम्प में शामिल हैं। इस बार हम बात करने वाले हैं एक और प्रणाली जो है MongoDB।

MongoDB है एक खुला स्रोत दस्तावेज़ उन्मुख NoSQL डेटाबेस प्रणाली, ये है उच्च प्रदर्शन डेटा दृढ़ता के लिए बनाया गया एक आधुनिक दस्तावेज़ डेटाबेस प्रबंधन प्रणाली, उच्च उपलब्धता, साथ ही स्वचालित स्केलिंग, NoSQL तकनीक की तकनीक पर आधारित है।

डेटा को टेबलों में सहेजने के बजाय जैसे कि रिलेशनल डेटाबेस में किया जाता है, MongoDB एक दस्तावेज़ में डेटा संरचनाओं को बचाता है, जो एक डेटा संरचना है जिसमें फ़ील्ड और वैल्यू पेयर शामिल होते हैं (MongoDB दस्तावेज़ JSON ऑब्जेक्ट्स के साथ तुलनीय हैं)।

क्योंकि यह उच्च प्रदर्शन और उत्कृष्ट मापनीयता विशेषताओं को प्रदान करता है, इसलिए इसका उपयोग आधुनिक अनुप्रयोगों के निर्माण के लिए किया जा रहा है जिनके लिए शक्तिशाली, मिशन-महत्वपूर्ण और अत्यधिक उपलब्ध डेटाबेस की आवश्यकता होती है।

Ubuntu पर MongoDB स्थापना

हमारे सिस्टम पर इस डेटाबेस सिस्टम को स्थापित करने के लिए, हमें केवल एक टर्मिनल खोलना है और उसमें निम्नलिखित कमांड को निष्पादित करना है:

sudo apt install mongodb

स्थापना की गई, MongoDB सेवा सिस्टमड के माध्यम से स्वचालित रूप से शुरू होगी और प्रक्रिया 27017 पोर्ट पर चलेगी। आप कमांड का उपयोग करके इसकी स्थिति देख सकते हैं:

sudo systemctl status mongodb

यदि नहीं, तो हम इस कमांड के साथ शुरुआत को बाध्य कर सकते हैं:

sudo systemctl start mongodb

MongoDB के लिए दूरस्थ कनेक्शन सक्षम करना

मोंगोबडी 1

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

sudo ufw allow 27017

डिफ़ॉल्ट रूप से, पोर्ट 27017 केवल स्थानीय पते 127.0.0.1 से एक्सेस किया जा सकता है। MongoDB को दूरस्थ कनेक्शन की अनुमति देने के लिए, फ़ाइल में सर्वर का आईपी पता जोड़ना आवश्यक है /etc/mongodb.conf

बस इसे संपादित करें:

sudo nano

और हम कुछ इस तरह देख सकते हैं:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

जिसे हम अपने सर्वर से डेटा के साथ संपादित करते हैं।

हर जगह से MongoDB तक पहुंच की अनुमति देने से, यह डेटाबेस में डेटा तक अप्रतिबंधित पहुंच प्रदान करता है। इसलिए, MongoDB पोर्ट के स्थान विशिष्ट डिफ़ॉल्ट IP पते तक पहुंच देना बेहतर है।

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

एक बार यह हो जाने के बाद, यह सेवा को फिर से शुरू करने के लिए पर्याप्त है ताकि नए परिवर्तन शुरुआत में ही लोड हो जाएं, यह हम इसके साथ करते हैं:

sudo systemctl restart mongodb

पासवर्ड के साथ MongoDB में एक उपयोगकर्ता बनाएँ

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

MongoDB SCRAM प्रमाणीकरण तंत्र का उपयोग करता है डिफ़ॉल्ट रूप से। सिस्टम पर SCRAM का उपयोग करना उपयोगकर्ता नाम, पासवर्ड और प्रमाणीकरण डेटाबेस के खिलाफ आपूर्ति की गई उपयोगकर्ता क्रेडेंशियल्स की पुष्टि करता है।

बस डेटाबेस कंसोल को निम्न कमांड से शुरू करें:

Mongo

हम मौजूदा डेटाबेस की एक सूची बना सकते हैं:

show dbs

हम एक उपयोगकर्ता बना सकते हैं जो हमें उपयोगकर्ताओं और कार्यों का प्रबंधन करने की अनुमति देगा जैसे कि उपयोगकर्ता बनाना, उपयोगकर्ता भूमिकाएँ प्रदान करना या रद्द करना, और कस्टम भूमिकाएँ बनाना या संशोधित करना।

बस टाइप करो

use admin

और हम निम्नलिखित कमांड के साथ उपयोगकर्ता बनाते हैं, जहां हम उपयोगकर्ता के नाम "रूट" और पासवर्ड "पासवर्ड" का उपयोग करते हैं, जो कि हम उपयुक्त मानते हैं।

db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})

एक बार यह पूरा हो जाने के बाद, हमें प्रमाणीकरण विधि को सक्षम करना होगा इसके लिए हम निम्नलिखित फाइल को संपादित करने जा रहे हैं:

sudo nano /lib/systemd/system/mongodb.service

और हम अगली पंक्ति की तलाश करेंगे:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

और संपादित करें ताकि यह इस प्रकार है:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

अब हम बस डेटाबेस में रिबूट करते हैं

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y हम इसके साथ प्रमाणीकरण विधि का परीक्षण करते हैं:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   पता लगाने योग्य कहा

    इस त्रुटि के साथ मेरी मदद करो।

    २०२१-०३-२४ टी २१: ३३: १६.२३३ + ०००० ई क्वर्टी [थ्रेड १] त्रुटि: सूचीकर्ता विफल:
    «ठीक है»: 0,
    "त्रुटि": "कमांड को निष्पादित करने के लिए व्यवस्थापक पर अधिकृत नहीं है {listDat डेटाबेस: 1.0, $ db: \" admin \ "}",
    "कोड": 13,
    "कोडनाम": "अनधिकृत"
    }:
    _getErrorWithCode@src/mongo/shell/utils.js: 25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 65: 1
    shellHelper.show@src/mongo/shell/utils.js: 816: 19
    shellHelper@src/mongo/shell/utils.js: 706: 15
    @ (शेलहेल्प 2): 1: 1