এই ব্লগে আমরা কয়েকটি ডাটাবেস সিস্টেমের কথা বলেছি, যার মধ্যে সর্বাধিক জনপ্রিয় হ'ল মারিয়াডিবি এবং মাইএসকিউএল, যেহেতু তারা সিস্টেমগুলি যা সাধারণত জ্যাম্প বা ল্যাম্পে অন্তর্ভুক্ত থাকে। এবার আমরা কথা বলতে যাচ্ছি অন্য একটি সিস্টেম যা মঙ্গোডিবি।
মঙ্গোডিবি হ'ল একটি ওপেন সোর্স ডকুমেন্ট ভিত্তিক NoSQL ডাটাবেস সিস্টেম, এই উচ্চ কার্যকারিতা ডেটা অধ্যবসায়ের জন্য ডিজাইন করা একটি আধুনিক ডকুমেন্ট ডাটাবেস ম্যানেজমেন্ট সিস্টেম, নোএসকিউএল প্রযুক্তির প্রযুক্তির উপর ভিত্তি করে উচ্চ প্রাপ্যতা, পাশাপাশি স্বয়ংক্রিয় স্কেলিং।
টেবিলগুলিতে ডেটা সংরক্ষণের পরিবর্তে যেমনটি সম্পর্কিত ডেটাবেজে করা হয়, মংগোডিবি একটি নথিতে ডেটা স্ট্রাকচার সংরক্ষণ করে, যা ক্ষেত্র এবং মান জোড়া (মঙ্গোডিবি নথিগুলি জেএসএন বস্তুর সাথে তুলনীয়) সমন্বয়ে গঠিত একটি ডেটা স্ট্রাকচার।
যেহেতু এটি উচ্চ কার্যকারিতা এবং দুর্দান্ত স্কেলাবিলিটি বৈশিষ্ট্য সরবরাহ করে, এটি আধুনিক অ্যাপ্লিকেশনগুলি তৈরি করতে ব্যবহৃত হচ্ছে যাতে শক্তিশালী, মিশন-সমালোচনা এবং অত্যন্ত উপলব্ধ ডেটাবেস প্রয়োজন।
উবুন্টুতে মঙ্গোডিবি ইনস্টলেশন
আমাদের সিস্টেমে এই ডাটাবেস সিস্টেমটি ইনস্টল করতে, আমাদের কেবলমাত্র একটি টার্মিনাল খুলতে হবে এবং এতে নিম্নলিখিত কমান্ডটি প্রয়োগ করতে হবে:
sudo apt install mongodb
ইনস্টলেশন সম্পন্ন, মোগোডিবি পরিষেবা স্বয়ংক্রিয়ভাবে সিস্টেমডের মাধ্যমে শুরু হবে এবং প্রক্রিয়াটি 27017 পোর্টে চলবে You আপনি কমান্ডটি ব্যবহার করে এর স্থিতিটি পরীক্ষা করতে পারেন:
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,
"এরআরএমএসজি": "কমান্ড {listDatabases: 1.0, $ db: admin" প্রশাসক \ "}" চালানোর জন্য প্রশাসকে অনুমোদিত নয়,
"কোড": 13,
"কোডনাম": "অননুমোদিত"
:
_getErrorWithCode@src/mongo/ Shell/utils.js: 25:13
মঙ্গো.প্রোটোটাইপ.গেটডিবিএস @ এসআরসি / মমঙ্গো / শেল/মঙ্গো.জেএস: :৫: ১
শেলহেল্পার.শো@src/mongo/ Shell/utils.js: 816: 19
শেলহেল্পার @src/mongo/ Shell/utils.js: 706: 15
@ (শেলহেলপ 2): 1: 1