شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

install-mongodb-on-linux

نصب دیتابیس 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 به سیستم شما اضافه شده است ولی حتما باید برای نصب این پایگاه داده دست به کار شوید تا بتوانید از آن استفاده کنید. 

کلیک کنید  زبان برنامه نویسی PHP چیست؟

پس با استفاده از دستور زیر، سیستم خود را آپدیت کنید تا ریپازیتوری که اخیراً به سیستم اضافه کردید، در بین ریپازیتوری های سیستم قرار بگیرد.

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

بررسی وضعیت نصب دیتابیس MongoDB در لینوکس

اگر بعداً به هر دلیلی خواستید این سرویس را متوقف یا غیرفعال کنید، می توانید از دستور زیر استفاده کنید:

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

بعد از اجرای این دستور، صفحه زیر باز می شود:

فایل پیکربندی بندی mongodb

طبق آموزش های ارائه شده در مقاله نحوه استفاده از ویرایشگر 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 است. مطمئن باشید که اگر بتوانید این پایگاه داده را به درستی نصب و راه اندازی کنید، کشف ویژگی های پیشرفته و قدرت پنهان این پایگاه داده برای شما بسیار لذت بخش تر خواهد بود. 

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید