نصب دیتابیس MongoDB در لینوکس اوبونتو، دبیان و CentOS
با اینکه در حال حاضر MySQL محبوب ترین و پرکاربردترین سیستم مدیریت پایگاه داده است ولی با این حال، سیستم های قدرتمند دیگری مثل MongoDB هم وجود دارند که به خاطر انعطاف پذیری و مقیاس پذیری بالاتر به گزینه های محبوبی برای برنامه های مدرن تبدیل شده اند. با نصب دیتابیس MongoDB در لینوکس می توانید محدودیت های مربوط به ساختار سفت و سخت پایگاه داده های رابطه ای را کنار بگذارید و بدون نیاز به تعرف یک طرح اولیه، شروع به راه اندازی پایگاه داده برنامه یا وبسایت خود کنید.
برای نصب پایگاه داده MongoDB در لینوکس، اول باید ریپازیتوری مربوط به آن را به سیستم لینوکس اضافه کنید و بعد با استفاده از مدیر بسته توزیع لینوکس خود، این برنامه را نصب و سرویس آن را اجرا کنید. این پایگاه داده آماده مدیریت حجم بزرگی از داده های بدون ساختار است، کافیست مراحل نصب و راه اندازی آن را طی کنید و شروع به استفاده از آن کنید.
MongoDB یک پایگاه داده NoSQL، سند گرا و کراس پلتفرم است که به خاطر ویژگی های پیشرفته خود از انعطاف پذیری و مقیاس پذیری لازم برای ساخت اپلیکیشن های سریع و بزرگ برخودار است. این پایگاه داده، به جای ذخیره داده ها در قالب جدول، از فرمت BSON استفاده می کند. داده هایی که در این پایگاه داده ذخیره می شوند به صورت جفت کلید – مقدار (key-value) هستند و هر کدام از آنها با فرمت خاصی از هم جدا می شوند.
نصب پایگاه داده MongoDB در لینوکس آنقدر ها هم که به نظر می رسد، ساده نیست و اگر در این زمینه به یک راهنمایی درست و معتبر نیاز دارید، در جای درستی قرار دارید.
برای اینکه پایگاه داده MongoDB بتواند از تمام قدرت و پتانسیل خود برای مدیریت داده های اپلیکیشن شما بربیاید، اول باید پایه اپلیکیشن یا وبسایت خود را تقویت کنید و قدم اول را با خرید سرور مجازی لینوکس قدرتمند بردارید. بعد مراحل نصب دیتابیس MongoDB در لینوکس را که بر اساس توزیع های لینوکس تفکیک کرده ایم، طی کنید تا این پروسه را به سرعت پشت سر بگذارید.
آشنایی با پایگاه داده MongoDB
پایگاه داده نقش مخزن داده های مربوط به اپلیکیشن ها و وبسایت ها را دارد که برای دسترسی به این داده ها و مدیریت آنها نیاز به یک سیستم مدیریت پایگاه داده دارید که MongoDB یکی از محبوب ترین آنهاست.
MongoDB یک پایگاه داده سندگرا (document-oriented) با کارایی بالا است که برای ذخیره سازی داده ها از ساختار NoSQL پشتیبانی می کند. این سیستم مدیریت پایگاه داده، داده ها را تحت قالب BSON ذخیره می کند. BSON گونه ای از قالب JSON است که داده ها را به شکل جفت کلید-مقدار رمزگذاری می کند و با استفاده از کاما از هم جدا می شوند. این فرمت ذخیره سازی باعث کاهش فضای ذخیره سازی و افزایش کارایی می شود.
این داده های BSON در اسناد ذخیره می شوند که این اسناد با هم یک مجموعه را تشکیل می دهند و به خوبی با مدل های شی گرا هماهنگ هستند.
با توجه به این که MongoDB یک پایگاه داده NoSQL است، برای ذخیره و بازیابی داده ها از زبان SQL استفاده نمی کند و معمولاً مدیران برای ویرایش اسناد یا بازیابی داده های سند از MongoDB Query API استفاده می کنند.
مزایا و معایب پایگاه داده MongoDB
مزایا | معایب |
متن باز و رایگان | پیچیدگی عملیات اتصال یا جوین اسناد به همدیگر |
انعطاف پذیری و مقیاس پذیری بالا | احتمال تکراری بودن داده ها و عدم سازگاری داده ها با ACID |
سهولت استفاده | استفاده از فضای ذخیره سازی بالا |
قابل اطمینان و دارای عملکرد عالی | محدودیت سایز هر سند (حداکثر ۱۶ مگابایت) |
عدم اجبار برای استفاده از یک طرح ثابت برای ذخیره سازی داده ها | پیچیدگی برخی از تراکنش ها به خاطر عدم پشتیبانی کامل از ACID |
سازگاری با انواع پلتفرم ها | عدم پشتیبانی از رویه های ذخیره شده |
برخوداری از قدرت لازم برای پردازش حجم بالایی از داده ها | – |
برخوداری از ویژگی جستجوی متن کامل ( Atlas Search) | – |
امکان جستجو بر اساس محدوده، فیلد و عبارت منظم | – |
پشتیبانی از کوئری های hoc برای تحلیل صورت بهینه و real-time داده ها | – |
عملکرد بهتر در ایندکس داده ها | – |
امکان دسترسی به داده ها بر اساس هر زبان | – |
حالا که با این پایگاه داده آشنا شدید و نقاط ضعف و قوت آن را شناختید، وقت آن است که پروسه نصب دیتابیس MongoDB در لینوکس اوبونتو، دبیان و centos را با بررسی پیش نیاز های نصب آن شروع کنیم:
پیش نیازهای نصب پایگاه داده MongoDB در لینوکس
- یک سیستم یا سرور مجهز به توزیع دبیان، اوبونتو یا CentOS
- حساب کاربری با امتیازات sudo یا root
- دسترسی به ترمینال
حالا که از این بابت مطمئن شدید، بیایید پروسه راه اندازی پایگاه داده مونگو در توزیع های مبتنی بر دبیان و CentOS را شروع کنیم:
مراحل نصب پایگاه داده MongoDB در دبیان و اوبونتو
با طی مراحل زیر می توانید MongoDB را با موفقیت در سیستم اوبونتو یا دبیان خود نصب کنید:
۱. ریپازیتوری MongoDB را ایمپورت کنید.
پکیج MongoDB در ریپازیتوری پیش فرض سیستم اوبونتو وجود ندارد، پس برای اینکه آخرین نسخه پایگاه داده MongoDB را در سیستم خود نصب کنید، اول باید ریپازیتوری مربوط به آن را به سیستم اضافه کنید. برای اضافه کردن کلید ریپازیتوری MongoDB می توانید از دستور wget که از پرکاربردترین دستورات لینوکس است، استفاده کنید.
کافیست ترمینال را باز کنید و دستور زیر را اجرا کنید:
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
بعد اینکه کلید را به سیستم اضافه کردید، وقت آن است که خود ریپازیتوری را به سیستم اوبونتو اضافه کنید:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/ mongodb-org-7.0.list
۲. پایگاه داده MongoDB را نصب کنید.
الان، کلید و ریپازیتوری مربوط به MongoDB به سیستم شما اضافه شده است ولی حتما باید برای نصب این پایگاه داده دست به کار شوید تا بتوانید از آن استفاده کنید.
پس با استفاده از دستور زیر، سیستم خود را آپدیت کنید تا ریپازیتوری که اخیراً به سیستم اضافه کردید، در بین ریپازیتوری های سیستم قرار بگیرد.
sudo apt update
سپس با اجرای دستور زیر، MongoDB را روی سیستم نصب کنید:
sudo apt-get install mongodb-org -y
با اجرای این ۲ مرحله، موفق به نصب دیتابیس MongoDB در لینوکس اوبونتو شدید. بیایید مراحل نصب پایگاه داده MongoDB در CentOS را هم بررسی کنیم و بعد مراحل مربوط به فعال سازی و اجرای سرویس MongoDB در لینوکس که برای هر دو توزیع یکی هستند را یاد بگیریم.
مراحل نصب دیتابیس MongoDB در لینوکس CentOS
ریپازیتوری CentOS هم به طور پیش فرض حاوی پکیج MongoDB نیست و اول باید آن را به سیستم اضافه کنید و بعد نسبت به نصب آن اقدام کنید.
۱. ریپازیتوری MongoDB را به سیستم اضافه کنید.
برای اینکه ریپازیتوری این پایگاه داده را به سیستم اضافه کنید، کافیست ترمینال خود را باز کنید و با دستور زیر، یک فایل پیکربندی آخرین نسخه MongoDB (در حال حاضر نسخه 7.0، آخرین نسخه این پایگاه داده است) ایجاد کنید:
sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo
فایل جدیدی که ایجاد کردید، خالی است و باید متن زیر را کپی کرده و در آن فایل الصاق کنید:
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
به ترتیب کلیدهای ترکیبی Ctrl+o و Ctrl+x را فشار دهید تا این فایل را ذخیره کرده و از آن خارج شوید.
۲. برنامه MongoDB را نصب کنید.
حالا که سیستم شما مجهز به ریپازیتوری این پایگاه داده است، نوبت به نصب دیتابیس MongoDB در لینوکس CentOS می رسد. پس دستور زیر را اجرا کنید:
sudo yum install –y mongodb-org
با دیدن پیام complete در انتخاب خروجی این دستور می توانید مطمئن شوید که این برنامه را با موفقیت در سیستم CentOS خود نصب کرده اید.
نحوه فعال سازی سرویس MongoDB در لینوکس
* این دستورات برای توزیع های دبیان، اوبونتو و CentOS یکسان هستند.
برای استارت سرویس MongoDB باید از دستور سیستمی زیر استفاده کنید:
sudo systemctl start mongod
اگر موقع اجرای دستور بالا با خطای not found مواجه شدید، دستور زیر را اجرا کنید و بعد مجدداً دستور استارت را امتحان کنید:
sudo systemctl daemon-reload
البته، دستور start سرویس MongoDB را به صورت موقت اجرا می کند و اگر سیستم خود را خاموش – روشن کنید، سرویس MongoDB غیرفعال می شود. اگر می خواهید کاری کنید که این سرویس به طور خودکار موقع استارت سیستم فعال شود و به یک سرویس دائمی تبدیل شود. کافیست به جای start از enable استفاده کنید:
sudo systemctl enable mongod
برای بررسی وضعیت این سرویس هم می توانید از دستور زیر استفاده کنید:
sudo systemctl status mongod
اگر بعداً به هر دلیلی خواستید این سرویس را متوقف یا غیرفعال کنید، می توانید از دستور زیر استفاده کنید:
sudo systemctl stop mongod.service
برای ری استارت این سرویس هم کافیست دستور stop را با start همراه کنید یا اینکه از restart استفاده کنید:
sudo systemctl stop mongod.service
sudo systemctl start mongod
یا
sudo systemctl restart mongod
نحوه راه اندازی و استفاده از MongoDB در لینوکس
بعد از اینکه مراحل نصب دیتابیس MongoDB در لینوکس را با موفقیت طی کردید و سرویس مربوط به آن را هم اجرا کردید، نوبت این است است که نحوه استفاده از آن را هم یاد بگیریم:
۱. اتصال به MongoDB shell
این سرویس به طور پیش فرض به پورت ۲۷۰۱۷ گوش می دهد. پس برای اتصال به سرور پایگاه و تعامل با آن می توانید از دستور زیر استفاده کنید:
mongo --host 127.0.0.1:27017
البته اگر می خواهید بدون اضافه کردن آرگومان اضافی و به سادگی با یک دستور تک کلمه ای به سرور MongoDB وصل شوید، می توانید از دستور mongosh استفاده کنید:
mongosh
برای اینکه امنیت اتصالات MongoDB را بالا ببرید، بهتر است یک کاربر ادمین دیگر ایجاد کنید تا کارهای مدیریتی را با آن کاربر ایجاد کنید.
۲. ایجاد کاربر ادمین جدید
ابتدا با استفاده از دستور زیر، کنسول MongoDB را باز کنید:
mongo
بعد، دستور زیر را اجرا کنید تا به عنوان کاربر ادمین به کنسول دسترسی پیدا کنید:
USE admin
با استفاده از دستور زیر، یک کاربر ادمین جدید ایجاد کنید و رمز آن را new_password جایگزین کنید:
db.createUser({USER:"admin", pwd:"new_password", roles:[{ROLE:"root", db:"admin"}]})
۳. فعال سازی احزار هویت برای ورود به MongoDB
برای اینکه امنیت دیتابیس MongoDB خود را بالا ببرید، بهترین کار این است که احراز هویت را برای آنها فعال کنید تا دسترسی به کنسول با حساسیت بالاتری انجام شود.
برای این کار، اول باید با استفاده از دستور زیر، فایل پیکربندی MongoDB را باز کنید:
sudo nano /lib/systemd/system/mongod.service
بعد از اجرای این دستور، صفحه زیر باز می شود:
طبق آموزش های ارائه شده در مقاله نحوه استفاده از ویرایشگر nano، متن زیر را به انتهای این فایل اضافه کنید:
security:
authorization: enabled
فایل پیکربندی را ذخیره کنید و آن را ببندید.
با استفاده از دستور زیر، سرویس MangoDB را ری استارت کنید تا این تغییرات اعمال شوند:
sudo systemctl restart mongod
۴. ورود به سرور پایگاه داده MongoDB با احراز هویت
اکنون که ویژگی احراز هویت را فعال کرده اید، برای باز کردن کنسول mongo و ورود به دیتابیس MongoDB حتما باید نام کاربری، رمز و آپشن authenticationDatabase را در دستور mongo لحاظ کنید:
mongo -u admin -p --authenticationDatabase admin
بعد از اجرای این دستور، ترمینال از شما می خواهد که رمز عبور کاربر ادمین را وارد کنید. بعد که رمز را با موفقیت وارد کردید، کنسول MongoDB باز می شود.
۶. خروج از کنسول MongoDB
برای خروج از این کنسول کافیست دستور زیر را اجرا کنید:
quit()
سخن آخر
ما سعی کردیم در این مقاله تمام مراحل لازم برای نصب دیتابیس MongoDB در لینوکس اوبونتو، دبیان و CentOS را در اختیار شما قرار دهیم تا این پروسه را بدون هیچ ارور و خطایی پشت سر بگذارید. الان دیگر سیستم شما آماده ایجاد و مدیریت مجموعه عظیمی از داده ها توسط MongoDB است. مطمئن باشید که اگر بتوانید این پایگاه داده را به درستی نصب و راه اندازی کنید، کشف ویژگی های پیشرفته و قدرت پنهان این پایگاه داده برای شما بسیار لذت بخش تر خواهد بود.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.