📄 محتوای کامل
نحوه نصب MongoDB در اوبونتو ۲۴.۰۴
یاد بگیرید که چگونه MongoDB را روی اوبونتو ۲۴.۰۴ نصب کنید، سرویسها را پیکربندی کنید، پایگاه داده خود را ایمن کنید و عملیات CRUD ضروری را انجام دهید.
MongoDB یک پایگاه داده NoSQL متنباز است که دادهها را در اسناد انعطافپذیر و شبیه JSON ذخیره میکند. این پایگاه داده از ساختارهای داده پویا، پرسوجوهای موقت، نمایهسازی و تجمیع بلادرنگ برای تجزیه و تحلیل کارآمد دادهها پشتیبانی میکند. برخلاف پایگاههای داده رابطهای سنتی که از جداول و طرحهای ثابت استفاده میکنند، MongoDB به دلیل مدل مبتنی بر سند با ساختارهای داده پویا و سلسله مراتبی، بسیار مقیاسپذیر و مناسب برای مدیریت دادههای بدون ساختار یا نیمه ساختار یافته است.
این مقاله نحوه نصب MongoDB در اوبونتو ۲۴.۰۴ را توضیح میدهد. شما سرویس MongoDB را پیکربندی خواهید کرد، پایگاه داده را ایمن میکنید و یک پایگاه داده نمونه برای انجام عملیات CRUD ضروری ایجاد خواهید کرد.
پیش نیازها
قبل از شروع، شما نیاز دارید:
- یک سرور مجازی با دسترسی root
نصب مونگو دی بی
MongoDB در مخازن بسته پیشفرض اوبونتو ۲۴.۰۴ موجود نیست. برای اضافه کردن مخزن MongoDB و نصب MongoDB، مراحل زیر را دنبال کنید.
- به صفحه انتشار MongoDB مراجعه کنید و آخرین نسخه را برای نصب تأیید کنید. برای مثال، MongoDB 8.0.
- کلید MongoDB GPG را وارد کنید.
کنسولکپی
$ curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
دستور بالا 8.0کلید GPG نسخه MongoDB را وارد میکند و آن را به حلقههای کلید APT شما اضافه میکند تا از صحت بسته اطمینان حاصل شود.
- مخزن MongoDB را به منابع مخزن APT خود اضافه کنید.
کنسولکپی
$ echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
- برای اعمال تغییرات مخزن MongoDB، اندیس بسته APT را بهروزرسانی کنید.
کنسولکپی
$ sudo apt update
- مونگو دیبی را نصب کنید.
کنسولکپی
$ sudo apt install -y mongodb-org
- نسخه MongoDB نصب شده را تأیید کنید.
کنسولکپی
$ mongod --version
خروجی شما باید مشابه تصویر زیر باشد.
db version v8.0.5
Build Info: {
"version": "8.0.5",
"gitVersion": "cb9e2e5e552ee39dea1e39d7859336456d0c9820",
"openSSLVersion": "OpenSSL 3.0.13 30 Jan 2024",
"modules": [],
"allocator": "tcmalloc-google",
"environment": {
"distmod": "ubuntu2404",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
مدیریت سرویس سیستم MongoDB
MongoDB از mongodسرویس سیستم برای اجرای سرور پایگاه داده و مدیریت عملیات زمان اجرا استفاده میکند. مراحل زیر را دنبال کنید تا سرویس MongoDB به طور خودکار هنگام بوت شدن شروع به کار کند و وضعیت آن را مدیریت کند.
- فعال کردن MongoDB برای شروع خودکار در هنگام بوت شدن سیستم.
کنسولکپی
$ sudo systemctl enable mongod
- سرویس MongoDB را شروع کنید.
کنسولکپی
$ sudo systemctl start mongod
- وضعیت سرویس MongoDB را مشاهده کنید تا از فعال بودن آن اطمینان حاصل کنید.
کنسولکپی
$ sudo systemctl status mongod
خروجی شما باید مشابه تصویر زیر باشد.
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-03-03 21:40:54 UTC; 6s ago
Docs: https://docs.mongodb.org/manual
Main PID: 2568 (mongod)
Memory: 86.3M (peak: 86.5M)
CPU: 443ms
CGroup: /system.slice/mongod.service
└─2568 /usr/bin/mongod --config /etc/mongod.conf
امنسازی مونگودیبی
MongoDB به طور پیشفرض نیازی به احراز هویت ندارد، که ناامن است و دادههای شما را در معرض کاربران غیرمجاز قرار میدهد. برای ایجاد یک کاربر ادمین، مراحل زیر را دنبال کنید و احراز هویت را برای ایمنسازی سرور پایگاه داده MongoDB فعال کنید.
- به پوسته MongoDB دسترسی پیدا کنید.
کنسولکپی
$ mongosh
- به adminپایگاه داده تغییر دهید.
> use admin
adminپایگاه داده مدیریتی پیشفرض برای مدیریت کاربران و عملیات سطح سیستم است.
- یک کاربر ادمین جدید با امتیازات کامل برای دسترسی به هر پایگاه دادهای ایجاد کنید. mongodbadminنام کاربری دلخواه خود را جایگزین کنید و در صورت درخواست، یک رمز عبور قوی وارد کنید.
> db.createUser(
{
user: "mongodbadmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
]
}
)
خروجی شما باید مشابه تصویر زیر باشد.
Enter password
********{ ok: 1 }
- تمام کاربران MongoDB را فهرست کنید و تأیید کنید که mongodbadminکاربر در دسترس است.
> db.getUsers()
خروجی شما باید مشابه تصویر زیر باشد.
{
users: [
{
_id: 'admin.mongodbadmin',
userId: UUID('288c02ec-d4a2-4631-b896-6ce6a537529a'),
user: 'mongodbadmin',
db: 'admin',
roles: [
{ role: 'dbAdminAnyDatabase', db: 'admin' },
{ role: 'userAdminAnyDatabase', db: 'admin' },
{ role: 'readWriteAnyDatabase', db: 'admin' }
],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
],
ok: 1
}
- از پوسته MongoDB خارج شوید.
> exit
- برای فعال کردن احراز هویت، فایل پیکربندی MongoDB را باز کنید.
کنسولکپی
$ sudo nano /etc/mongod.conf
- بخش مورد نظر را پیدا کنید #security:، نماد نظر ( #) را حذف کنید و authorizationوضعیت را به تغییر دهید enabled.
yamlکپی
security:
authorization: enabled
فایل را ذخیره کنید و ببندید.
- برای اعمال تغییرات پیکربندی، سرویس MongoDB را مجدداً راهاندازی کنید.
کنسولکپی
$ sudo systemctl restart mongod
دسترسی و استفاده از MongoDB
دسترسی به MongoDB از طریق پوسته تعاملی آن به شما امکان میدهد پایگاههای داده، کاربران و دادهها را مستقیماً مدیریت کنید. برای ورود به سیستم، ایجاد پایگاه داده، اضافه کردن کاربران و انجام عملیات اولیه CRUD (ایجاد، خواندن، بهروزرسانی، حذف) مراحل زیر را دنبال کنید.
- mongodbadminبه عنوان کاربر ادمینی که قبلاً ایجاد کردهاید، وارد پوسته MongoDB شوید .
کنسولکپی
$ mongosh -u mongodbadmin -p --authenticationDatabase admin
رمز عبور مدیر سیستم را که قبلاً تنظیم کردهاید، هنگام درخواست، وارد کنید.
- یک negarnovin_example_dbپایگاه داده جدید ایجاد کنید.
> use negarnovin_example_db
- یک کاربر جدید negarnovinuserبا دسترسی کامل به negarnovin_example_dbپایگاه داده ایجاد کنید.
> db.createUser(
{
user: "negarnovinuser",
pwd: passwordPrompt(),
roles: [ { role: "readWrite", db: "negarnovin_example_db" } ]
}
)
وقتی از شما خواسته شد، یک رمز عبور قوی وارد کنید.
خروجی شما باید مشابه تصویر زیر باشد.
Enter password
********{ ok: 1 }
- از پوسته MongoDB خارج شوید.
> exit
- به پوسته MongoDB وارد شوید negarnovinuserو در صورت درخواست، رمز عبور را وارد کنید.
کنسولکپی
$ mongosh -u negarnovinuser -p --authenticationDatabase negarnovin_example_db
- به negarnovin_example_dbپایگاه داده تغییر دهید.
> use negarnovin_example_db
- messagesیک سند جدید را به همراه پیام به مجموعه اضافه کنید Greetings from negarnovin.
> db.messages.insertOne({ message: "Greetings from negarnovin" })
خروجی شما باید مشابه تصویر زیر باشد.
{
acknowledged: true,
insertedId: ObjectId('67c5d0fe8da0f3d3af51e944')
}
- تمام اسناد موجود در messagesمجموعه را مشاهده کنید و تأیید کنید که سند جدید در دسترس است.
> db.messages.find()
خروجی شما باید مشابه تصویر زیر باشد.
[
{
_id: ObjectId('67c5d0fe8da0f3d3af51e944'),
message: 'Greetings from negarnovin'
}
]
- پیام را از Greetings from negarnovinبه Greetings from negarnovin Docsدر سند موجود بهروزرسانی کنید.
> db.messages.updateOne(
{ message: "Greetings from negarnovin" },
{ $set: { message: "Greetings from negarnovin Docs" } }
)
خروجی شما باید مشابه تصویر زیر باشد.
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
- messagesبرای تأیید بهروزرسانی، تمام اسناد موجود در مجموعه را مشاهده کنید .
> db.messages.find()
خروجی شما باید مشابه تصویر زیر باشد.
[
{
_id: ObjectId('67c5d0fe8da0f3d3af51e944'),
message: 'Greetings from negarnovin Docs'
}
]
- سند را از messagesمجموعه حذف کنید.
> db.messages.deleteOne({ message: "Greetings from negarnovin Docs" })
خروجی شما باید مشابه تصویر زیر باشد.
{ acknowledged: true, deletedCount: 1 }
- از پوسته MongoDB خارج شوید.
> exit
نتیجهگیری
شما MongoDB را روی اوبونتو ۲۴.۰۴ نصب کردهاید، سرور پایگاه داده را با احراز هویت ایمن کردهاید و عملیات پایگاه داده را انجام دادهاید. یک پایگاه داده، یک کاربر با امتیازات مدیریتی ایجاد کردهاید و عملیات CRUD، از جمله درج، بهروزرسانی و حذف اسناد را انجام دادهاید. برای اطلاعات بیشتر و گزینههای پیکربندی، به مستندات MongoDB مراجعه کنید .