پشتیبان‌گیری و بازگردانی پایگاه داده MongoDB

پشتیبان‌گیری و بازگردانی پایگاه داده MongoDB

انتشار:

 

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

بعد از بکاپ گرفتن، مرحله بعدی بازگردانی (Restore) داده‌ها است. فرآیند بازگردانی شامل استفاده از فایل‌های پشتیبان برای بازگرداندن پایگاه داده به وضعیت قبلی است.

 

مستند رسمی بکاپ و بازگردانی MongoDB

 

ابزار مورد نیاز

برای انجام این فرآیند، می‌توانید از ابزار MongoDump استفاده کنید. این ابزار به شما این امکان را می‌دهد که یک نسخه پشتیبان از پایگاه داده خود ایجاد کنید. سپس، با استفاده از ابزار MongoRestore، می‌توانید این نسخه پشتیبان را به یک سرور یا پایگاه داده دیگر منتقل نمایید.

 

👇 برای شروع باید ابزارهای مورد نیاز را دانلود و فایل فشرده شده را اکسترکت کنید.

لینک دانلود ابزار

 

 و در مسیر فولدر bin، ترمینال باز کنید (برای مثال cmd در ویندوز):

از این مرحله به بعد دستورات را داخل این مسیر اجرا کنید (فایل‌های mongodump و mongorestore در مسیر ترمینال باشند). همچنین اگر سیستم عامل ویندوز باشد باید پسوند .exe را به mongodump و mongorestore دستورات زیر اضافه کنید.

 

پشتیبان گیری

برای پشتیبان‌گیری از ابزار MongoDump استفاده می‌شود که قابلیت اجرا به چندین روش را داراست. با توجه به نیاز یا سلیقه شخصی، می‌توانید روش مناسب برای وارد کردن پارامترها را انتخاب نمایید.

برای مثال، مشخص کردن پارامترها را به صورت مجزا:mongodump --host="127.0.0.1" --port=27017 --username=user --authenticationDatabase=admin ./backup-destination

استفاده از Connection string:

mongodump --uri="mongodb://mongodb0.example.com:27017" ./backup-destination

در این حالت، از تمام مجموعه‌های (Collection) سروری که از آدرس 127.0.0.1:27017 در دسترس است، به مسیر ./backup-destination پشتیبان‌گیری می‌شود و برای کاربری که دسترسی کامل دارد (root) مناسب است.

در صورت نیاز به پشتیبان‌گیری از یک مجموعه (Collection) خاص، کافی است با استفاده از پارامتر --db collection_name مشخص نمایید که کدام مجموعه مورد نظر است.

 

* حساب کاربری که برای تهیه نسخه پشتیبان استفاده می‌شود، باید دارای دسترسی خواندن داده (Read) به پایگاه داده‌های مقصد باشد.

* در این دستور، هیچ رمز عبور یا پسوردی مشخص نشده است. در صورتی که حساب کاربری دارای رمز عبور باشد، لازم است پس از اجرای دستور، رمز عبور وارد گردد. این اقدام به منظور جلوگیری از ذخیره‌سازی رمز عبور در لاگ‌ها و تاریخچه دستورات انجام می‌شود. در غیر این صورت، امکان ارسال رمز عبور به صورت پارامتر --password *** وجود دارد.

 

بازگردانی دیتابیس

برای بازگردانی فایل‌هایی که با استفاده از ابزار mongodump پشتیبانی گرفته شده‌اند، کافی است مسیر پوشه‌ی پشتیبان را برای mongorestore مشخص نمایید. به عنوان مثال، می‌توانید از دستور زیر استفاده کنید:

mongorestore ./backup-destination

این دستور به ابزار mongorestore این امکان را می‌دهد که فایل‌های پشتیبان موجود در مسیر مشخص شده را بازگردانی کند.

همچنین پارامترهایی که برای ابزار mongodump استفاده شد، برای mongorestore نیز قابل استفاده‌اند:

mongorestore --host="127.0.0.1" --port=27017 --username=user --authenticationDatabase=admin ./backup-destination