آموزش نصب MongoDB در ubuntu – Debian – Rocky Linux – Alma Linux و ویندوز
MongoDB به عنوان پیشگام در دنیای پایگاههای داده NoSQL، به یک ابزار حیاتی برای توسعهدهندگان برنامههای مدرن تبدیل شده است. این دیتابیس سند-گرای (Document-Oriented) قدرتمند، به دلیل انعطافپذیری، مقیاسپذیری و عملکرد بالا، توسط شرکتهای نوپا و غولهای فناوری مانند Google, Adobe و Forbes به طور گسترده استفاده میشود. اگر به دنبال ذخیرهسازی دادههای بدون ساختار یا با ساختار متغیر هستید، مونگو دی بی یک انتخاب عالی است.
در این راهنمای جامع و کاملا بهروز، ما شما را قدم به قدم با فرآیند نصب آخرین نسخه MongoDB Community Edition بر روی سیستمعاملهای مختلف از جمله اوبونتو (۲۴.۰۴، ۲۲.۰۴)، دبیان، راکی/آلما لینوکس و ویندوز آشنا میکنیم و نکات کلیدی برای ایمنسازی اولیه آن را آموزش میدهیم.
چرا MongoDB را انتخاب کنیم؟ (مزایا و ویژگیهای کلیدی)
قبل از ورود به مباحث فنی نصب، بیایید ببینیم چه چیزی MongoDB را تا این حد محبوب کرده است:
- مدل داده سند-گرا: دادهها در قالب اسنادی شبیه به JSON (که در مونگو BSON نامیده میشود) ذخیره میشوند. این مدل به طور طبیعی با ساختار اشیاء در زبانهای برنامهنویسی مدرن هماهنگ است و نیاز به نگاشتهای پیچیده (ORM) را کاهش میدهد.
- شِمای انعطافپذیر (Flexible Schema): برخلاف پایگاههای داده SQL که نیازمند تعریف دقیق جداول و ستونها از قبل هستند، در MongoDB هر سند در یک مجموعه (Collection) میتواند ساختار متفاوتی داشته باشد. این ویژگی سرعت توسعه را به شدت افزایش میدهد.
- مقیاسپذیری افقی آسان: با استفاده از تکنیک Sharding، مونگو دی بی میتواند حجم عظیمی از دادهها و درخواستها را با توزیع بار بر روی چندین سرور مدیریت کند.
- دسترسپذیری بالا (High Availability): از طریق مجموعههای تکثیر یا Replica Sets، چندین کپی از دادهها بر روی سرورهای مختلف نگهداری میشود. در صورت از کار افتادن سرور اصلی، یکی از نسخههای پشتیبان به طور خودکار جایگزین آن میشود و از قطعی سرویس جلوگیری میکند.
- ایندکسگذاری و جستجوی قدرتمند: MongoDB از انواع مختلف ایندکس برای بهینهسازی سرعت کوئریها پشتیبانی میکند و زبان جستجوی غنی آن امکان اجرای انواع پرسوجوهای پیچیده را فراهم میسازد.
نصب MongoDB: راهنمای گام به گام برای هر سیستمعامل
از آنجایی که نسخههای موجود در مخازن پیشفرض توزیعهای لینوکس معمولا قدیمی هستند، ما همیشه از مخزن رسمی MongoDB برای نصب آخرین و پایدارترین نسخه استفاده خواهیم کرد.
نصب در اوبونتو (24.04 Noble & 22.04 Jammy)
فرآیند نصب برای جدیدترین نسخههای اوبونتو مشابه است و تنها نام مخزن تفاوت دارد. برای میزبانی دیتابیس خود روی سرور لینوکسی قدرتمند، میتوانید از سرور مجازی آلمان استفاده کنید.
۱. نصب پیشنیازها و وارد کردن کلید GPG
ابتدا سیستم خود را آپدیت کرده و ابزارهای مورد نیاز را نصب کنید.
sudo apt update && sudo apt upgrade -y
sudo apt install wget curl gnupg software-properties-common apt-transport-https ca-certificates lsb-release -y
سپس کلید GPG رسمی MongoDB را برای تایید اعتبار بستهها به سیستم اضافه کنید.
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
۲. افزودن مخزن رسمی MongoDB
اکنون فایل مخزن را بر اساس نسخه اوبونتوی خود ایجاد کنید.
# برای اوبونتو 24.04 (Noble)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# برای اوبونتو 22.04 (Jammy)
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
۳. نصب بسته MongoDB
لیست بستههای خود را مجددا آپدیت کرده و بسته `mongodb-org` را که شامل تمام اجزای لازم است، نصب کنید.
sudo apt update
sudo apt install mongodb-org -y
۴. راهاندازی و مدیریت سرویس
پس از نصب، سرویس `mongod` را استارت زده و آن را فعال (enable) کنید تا پس از هر بار بوت شدن سیستم، به طور خودکار اجرا شود.
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
نصب در Rocky Linux / Alma Linux (نسخه 9)
در توزیعهای خانواده RHEL مانند راکی و آلما لینوکس، باید یک فایل مخزن جدید برای مدیر بسته `dnf` ایجاد کنیم.
- ایجاد فایل مخزن: یک فایل جدید با ویرایشگر متن خود (مانند nano یا vim) در مسیر `/etc/yum.repos.d/` ایجاد کنید.
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/9/mongodb-org/7.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
- نصب MongoDB: اکنون با استفاده از `dnf` بسته `mongodb-org` را نصب کنید.
sudo dnf install -y mongodb-org
- مدیریت سرویس و فایروال: سرویس را راهاندازی و فعال کنید.
sudo systemctl start mongod sudo systemctl enable mongod
برای اجازه دسترسی به دیتابیس از خارج سرور، پورت پیشفرض MongoDB (27017) را در فایروال باز کنید.
sudo firewall-cmd --add-port=27017/tcp --permanent sudo firewall-cmd --reload
نصب MongoDB در ویندوز
نصب MongoDB در ویندوز به لطف فایل نصبی MSI بسیار ساده است.
- دانلود نصاب: به صفحه دانلود رسمی MongoDB بروید. از منوی کشویی، آخرین نسخه و پکیج `MSI` را انتخاب و دانلود کنید.
- اجرای فایل نصب: فایل MSI دانلود شده را اجرا کنید. در مراحل نصب، گزینه “Complete” را انتخاب کنید.
- نصب MongoDB Compass (بسیار مهم): در یکی از مراحل، گزینه `Install MongoDB Compass` به صورت پیشفرض تیک خورده است. این تیک را برندارید. Compass یک رابط کاربری گرافیکی (GUI) قدرتمند برای مدیریت دیتابیس، اجرای کوئریها و مشاهده دادهها به صورت بصری است که کار شما را بسیار آسانتر میکند.
- اتصال و تست: پس از نصب، `MongoDB Compass` را اجرا کنید تا به دیتابیس لوکال خود متصل شوید یا خط فرمان (CMD یا PowerShell) را باز کرده و با دستور `mongosh` وارد شل مونگو شوید.
برای پروژههای ویندوزی که نیاز به دسترسی پایدار و منابع اختصاصی دارند، سرور مجازی فنلاند میتواند گزینه مناسبی باشد.
اقدام ضروری پس از نصب: ایمنسازی MongoDB
هشدار: به طور پیشفرض، MongoDB بدون نیاز به احراز هویت (Authentication) نصب میشود و هر کسی که به سرور دسترسی داشته باشد، میتواند به دیتابیس شما متصل شود. فعالسازی احراز هویت در محیطهای کاری یک ضرورت مطلق است.
۱. ایجاد اولین کاربر مدیر
ابتدا با دستور `mongosh` وارد محیط تعاملی مونگو شوید. سپس به دیتابیس `admin` که برای مدیریت کاربران استفاده میشود، بروید.
use admin
حالا یک کاربر با دسترسی کامل مدیریتی ایجاد کنید. به جای `myAdminUser` و `yourStrongPassword` از مقادیر دلخواه و یک رمز عبور بسیار قوی استفاده کنید.
db.createUser({
user: "myAdminUser",
pwd: "yourStrongPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ]
})
پس از مشاهده پیام موفقیت، با دستور `quit()` از شل خارج شوید.
۲. فعالسازی احراز هویت در فایل پیکربندی
فایل پیکربندی MongoDB را برای ویرایش باز کنید (در لینوکس: `sudo nano /etc/mongod.conf`).
بخش `security` را پیدا کنید (اگر وجود ندارد آن را ایجاد کنید) و آن را به شکل زیر ویرایش کنید:
security:
authorization: "enabled"
فایل را ذخیره کرده و خارج شوید.
۳. راهاندازی مجدد سرویس
برای اعمال تغییرات، سرویس MongoDB را ریاستارت کنید.
sudo systemctl restart mongod
از این پس، برای اتصال به دیتابیس باید نام کاربری و رمز عبور را مشخص کنید. برای مثال:
mongosh -u "myAdminUser" -p --authenticationDatabase "admin"
پس از وارد کردن این دستور، از شما خواسته میشود تا رمز عبور را وارد کنید.
سوالات متداول درباره نصب و استفاده از MongoDB
تفاوت اصلی MongoDB با دیتابیسهای SQL چیست؟
MongoDB Compass چیست و چرا باید آن را نصب کنم؟
چگونه از دیتابیس خود در MongoDB بکاپ بگیرم؟
mongodump --db=mydatabase --out="/path/to/backup/directory"
آیا میتوانم به سرور MongoDB از راه دور متصل شوم؟
دستور `mongosh` چیست؟
فهرست تیترها