या ब्लॉगमध्ये आम्ही काही डेटाबेस प्रणालींबद्दल बोललो आहोत, त्यापैकी सर्वात लोकप्रिय मारियाडीबी आणि मायएसक्यूएल आहेत, कारण त्या बहुधा सामान्यत: झॅमप्प किंवा लॅम्पमध्ये समाविष्ट केलेल्या सिस्टम आहेत. यावेळी आपण याबद्दल बोलणार आहोत आणखी एक प्रणाली आहे मंगोडीबी.
मंगोडीबी आहे ओपन सोर्स डॉक्युमेंट ओरिएंटेड NoSQL डेटाबेस सिस्टम, हे आहे उच्च कार्यप्रदर्शन डेटा चिकाटीसाठी डिझाइन केलेली आधुनिक दस्तऐवज डेटाबेस व्यवस्थापन प्रणाली, एनओएसक्यूएल तंत्राच्या तंत्रज्ञानावर आधारित उच्च उपलब्धता तसेच स्वयंचलित स्केलिंग.
रिलेशनल डेटाबेसमध्ये केल्याप्रमाणे टेबलमध्ये डेटा सेव्ह करण्याऐवजी मोंगोडीबी डॉक्युमेंटमध्ये डेटा स्ट्रक्चर्स सेव्ह करते, फील्ड आणि मूल्य जोड्यांची (मॉंगोडीबी कागदपत्रे जेएसओएन ऑब्जेक्ट्सशी तुलना करण्यायोग्य आहेत) असलेली एक डेटा स्ट्रक्चर आहे.
कारण ती उच्च कार्यक्षमता आणि उत्कृष्ट स्केलेबिलिटी वैशिष्ट्ये प्रदान करते, याचा वापर आधुनिक अनुप्रयोग तयार करण्यासाठी केला जात आहे ज्यास शक्तिशाली, मिशन-गंभीर आणि अत्यंत उपलब्ध डेटाबेस आवश्यक आहेत.
उबंटू वर मंगोडीबी स्थापना
आमच्या सिस्टमवर ही डेटाबेस सिस्टम स्थापित करण्यासाठी, आपल्याला फक्त टर्मिनल उघडावे लागेल आणि त्यामध्ये खालील कमांड कार्यान्वित कराव्या.
sudo apt install mongodb
स्थापना पूर्ण झाली, मॉन्गोडीबी सर्व्हिस सिस्टमडिद्वारे आपोआप सुरू होईल आणि प्रक्रिया 27017 पोर्टवर चालू होईल. आपण आदेशाचा वापर करुन त्याची स्थिती तपासू शकता:
sudo systemctl status mongodb
तसे नसल्यास आम्ही या आदेशासह प्रारंभ करण्यास भाग पाडू शकतो:
sudo systemctl start mongodb
मॉंगोडीबी वर रिमोट कनेक्शन सक्षम करणे
डीफॉल्टनुसार मोंगोडीबी डेटाबेस सिस्टम 27017 पोर्ट वापरते जी आपण उघडली पाहिजे रिमोट कनेक्शन स्वीकारण्यासाठी, आम्ही फक्त खालील आदेशाने ते सक्षम करतो.
sudo ufw allow 27017
डीफॉल्टनुसार, पोर्ट 27017 केवळ स्थानिक पत्त्यावरून प्रवेश केला जाऊ शकतो 127.0.0.1. मोंगोडीबीला रिमोट कनेक्शनची परवानगी देण्यासाठी फाईलमध्ये सर्व्हरचा आयपी पत्ता जोडणे आवश्यक आहे /etc/mongodb.conf
फक्त हे यासह संपादित करा:
sudo nano
आणि यासारखे काहीतरी आपण पाहू शकतो:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
जे आम्ही आमच्या सर्व्हरमधील डेटासह संपादित करतो.
कोठेही मॉन्गोडीबीला प्रवेश करण्यास अनुमती देऊन ते डेटाबेसमधील डेटावर प्रतिबंधित प्रवेश देते. म्हणूनच, मुंगोडीबी पोर्टच्या स्थान विशिष्ट डीफॉल्ट आयपी पत्त्यावर प्रवेश देणे चांगले आहे.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
एकदा हे पूर्ण झाल्यावर सेवा पुन्हा सुरू करणे पुरेसे आहे जेणेकरुन नवीन बदल सुरूवातीस लोड होतील, आम्ही हे यासह करतो:
sudo systemctl restart mongodb
संकेतशब्दासह मोंगोडीबीमध्ये एक वापरकर्ता तयार करा
डीफॉल्टनुसार डेटाबेसमध्ये अगदी सोपा प्रवेश असतो, म्हणून यास मजबुतीकरण देण्यासाठी आम्ही संकेतशब्दासह वापरकर्ता तयार करू शकतो.
मंगोडीबी एससीआरएएम प्रमाणीकरण यंत्रणा वापरते मुलभूतरित्या. सिस्टमवर एससीआरएएम वापरणे वापरकर्त्याचे नाव, संकेतशब्द आणि प्रमाणीकरण डेटाबेसविरूद्ध पुरवलेले वापरकर्ता प्रमाणपत्रे सत्यापित करते.
फक्त खालील आदेशासह डेटाबेस कन्सोल प्रारंभ करा:
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"
या त्रुटीसह मला मदत करा.
2021-03-24T21: 33: 16.233 +0000 ई QUERY [थ्रेड 1] त्रुटी: यादी डेटाबेस अयशस्वी: {
«ठीक»: 0,
"एरर्म्सग": "कमांड {लिस्टडेटाबेस: १.०, $ डीबी: admin" अॅडमीन \ "}" चालवण्यासाठी अॅडमिनवर अधिकृत नाही,
"कोड": 13,
"कोडनाव": "अनधिकृत"
}:
_getErrorWithCode@src/mongo/shell/utils.js: 25:13
मुंगो.प्रोटोटाइप.गेडबीबीएसएसआरसी / मोन्गो / शेल/मोंगो.जेएस: 65: 1
शेलहेल्पर.शो@src/mongo/shell/utils.js: 816: 19
शेलहेल्पर @ एसआरसी/मोन्गो / शेल/utils.js: 706: 15
@ (शेलहेल्प 2): 1: 1