MongoDB هو نظام إدارة قواعد البيانات الشهيرة NoSQL المعروف بمرونته وقابليته للتوسع. سواء كنت تشغل تطبيقًا صغيرًا أو نظامًا ضخمًا، من الأساسي وجود استراتيجية قوية للنسخ الاحتياطي واستعادة وتهجير قواعد بيانات MongoDB الخاصة بك. يضمن ذلك سلامة بياناتك ويسهل الانتقالات السلسة بين البيئات أو الخوادم المختلفة.
في هذا الدليل الشامل، سنستكشف مختلف الأساليب وأفضل الممارسات لتنفيذ هذه المهام الأساسية على نظام يعتمد على Ubuntu.
فهم النسخ الاحتياطي واستعادة وتهجير MongoDB
قبل الغوص في الخطوات العملية، دعونا نحصل على فهم واضح لعمليات النسخ الاحتياطي واستعادة وتهجير MongoDB:
- النسخ الاحتياطي: يتضمن النسخ الاحتياطي لـ MongoDB إنشاء نسخة من بياناتك في نقطة زمنية محددة. يمكن استخدام هذه النسخ، المعروفة باسم النسخ الاحتياطية، لاستعادة بياناتك في حالة فقدان البيانات أو تعطل الأجهزة أو غيرها من الطوارئ. تقدم MongoDB عدة طرق لإنشاء نسخ احتياطية، بما في ذلك النسخ الاحتياطية المنطقية ولقطات النظام الملفي.
- الاستعادة: عملية استعادة هي استخدام نسخة احتياطية لإعادة قاعدة بيانات MongoDB إلى حالة سابقة. قد تحتاج إلى استعادة البيانات في سيناريوهات مختلفة، مثل الحذف العرضي للبيانات أو تلف قاعدة البيانات أو عند إعداد خادم جديد ببيانات حالية.
- التهجير: يشير تهجير قاعدة البيانات إلى نقل بيانات MongoDB من مثيل إلى آخر. قد يكون ذلك ضروريًا عند ترقية إصدارات MongoDB أو تغيير البنية التحتية للخادم أو نشر تطبيقك في بيئات مختلفة (على سبيل المثال، من التطوير إلى الإنتاج). يمكن أن تكون عمليات التهجير عمليات مرة واحدة أو جزءًا من عملية مستمرة، وفقًا لمتطلباتك.
إعداد بيئتك
قبل أن تتمكن من إجراء النسخ الاحتياطي أو استعادة أو تهجير MongoDB، تأكد من تهيئة بيئتك بشكل صحيح. فيما يلي بعض الخطوات التحضيرية:
1. تثبيت MongoDB
إذا لم يكن MongoDB مثبتًا بالفعل على خادم Ubuntu الخاص بك، يمكنك العثور على تعليمات التثبيت المفصلة في دليل Webhi.
بعد تثبيت MongoDB، قم بتشغيل الخدمة وتمكينها:
# بدء تشغيل MongoDB
$ sudo systemctl start mongod
# تمكين MongoDB للبدء عند التمهيد
$ sudo systemctl enable mongod
2. أمن تثبيت MongoDB الخاص بك (اختياري)
بالنسبة للبيئات الإنتاجية، يعد تأمين تثبيت MongoDB الخاص بك أمرًا بالغ الأهمية. ويشمل ذلك إعداد المصادقة وتكوين قواعد الجدار الناري واتباع أفضل ممارسات الأمان. راجع التوثيق الرسمي لـ MongoDB للحصول على تعليمات مفصلة حول تأمين النشر الخاص بـ MongoDB.
3. إعداد التخزين
تأكد من توفر مساحة تخزين كافية للنسخ الاحتياطية الخاصة بك، سواء كنت تخطط لتخزينها محليًا أو في موقع بعيد. يمكن أن تستهلك نسخ MongoDB الاحتياطية مساحة قرص كبيرة، اعتمادًا على حجم بياناتك.
النسخ الاحتياطي لقواعد بيانات MongoDB
توفر MongoDB طرقًا مختلفة لإنشاء نسخ احتياطية، لكل منها مزاياه وحالات الاستخدام الخاصة به. دعونا نستكشف نهجين شائعين: النسخ الاحتياطية المنطقية (باستخدام mongodump
) ولقطات النظام الملفي.
النسخ الاحتياطية المنطقية باستخدام mongodump
باستخدام mongodump
mongodump
هو أداة سطر أوامر توفرها MongoDB لإنشاء نسخ احتياطية منطقية. إنه يصدّر البيانات من قاعدة بيانات MongoDB إلى ملفات BSON. هذه الطريقة مناسبة لقواعد البيانات الصغيرة إلى المتوسطة الحجم وتوفر نسخاً احتياطية قابلة للقراءة بالنسبة للبشر.
لإجراء نسخ احتياطي منطقي، اتبع الخطوات التالية:
- افتح المحطة الطرفية ونفذ الأمر التالي لإنشاء نسخة احتياطية من قاعدة بيانات محددة:
$ mongodump --db your_database_name --out /path/to/backup_directory
استبدل your_database_name
باسم قاعدة البيانات التي تريد النسخ الاحتياطي لها و /path/to/backup_directory
بالمسار الذي تريد تخزين ملفات النسخ الاحتياطي فيه.
- بمجرد اكتمال الأمر، ستجد ملفات النسخ الاحتياطي في الدليل المحدد.
النسخ الاحتياطية المجدولة
لتحويل النسخ الاحتياطي إلى آلي، يمكنك إنشاء مهمة cron لتشغيل أمر mongodump
في فترات منتظمة، مما يضمن النسخ الاحتياطية الثابتة للبيانات دون تدخل يدوي. فيما يلي مثال على إعداد نسخ احتياطي يومي في منتصف الليل:
- افتح المحطة الطرفية وحرّر ملف crontab الخاص بك:
$ crontab -e
- أضف السطر التالي لجدولة نسخ احتياطية يومية:
0 0 * * * mongodump --db your_database_name --out /path/to/backup_directory
استبدل your_database_name
و /path/to/backup_directory
حسب الحاجة. احفظ واخرج من المحرر.
لقطات النظام الملفي
توفر لقطات النظام الملفي طريقة فعالة لإنشاء نسخ احتياطية، خاصةً لقواعد البيانات الكبيرة. تتضمن هذه الطريقة أخذ لقطات نقطة زمنية لدليل بيانات MongoDB. ومع ذلك، وفقًا لطلبك، لن نستخدم LVM للقطات.
لإجراء لقطة نظام ملفي دون LVM، يمكنك استكشاف طرق اللقطات الأخرى التي توفرها حلول التخزين أو مزود السحابة الخاص بك.
استعادة نسخ MongoDB الاحتياطية
إن استعادة نسخ MongoDB الاحتياطية عملية حاسمة للتعافي من فقدان البيانات أو تلفها. يمكنك استعادة النسخ الاحتياطية التي تم إنشاؤها باستخدام mongodump
أو طرق النسخ الاحتياطي المنطقية الأخرى. فيما يلي الخطوات:
استعادة من نسخة احتياطية mongodump
- إعداد ملفات النسخ الاحتياطي: تأكد من أن لديك ملفات النسخ الاحتياطي (بتنسيق BSON) من نسخة الاحتياطية
mongodump
الخاصة بك. - إيقاف MongoDB: قبل الاستعادة، أوقف خدمة MongoDB:
$ sudo systemctl stop mongod
- استعادة النسخة الاحتياطية: استخدم أمر
mongorestore
لاستعادة النسخة الاحتياطية. حدد المسار إلى دليل النسخة الاحتياطية التي تحتوي على ملفات BSON:
$ mongorestore --db your_database_name /path/to/backup_directory
استبدل your_database_name
باسم قاعدة البيانات المستهدفة. سيعيد هذا الأمر إنشاء قاعدة البيانات المحددة بالبيانات من النسخة الاحتياطية.
- إعادة تشغيل MongoDB: ابدأ خدمة MongoDB مرة أخرى:
$ sudo systemctl start mongod
تهجير قواعد بيانات MongoDB
تهجير قاعدة البيانات هو عملية نقل بيانات MongoDB من خادم أو بيئة إلى أخرى. قد يكون ذلك ضرورياً لأسباب مختلفة، مثل ترقية إصدارات MongoDB أو تغيير مزودي الاستضافة أو إعداد بيئة تطوير أو إنتاج جديدة. فيما يلي كيفية تهجير قواعد بيانات MongoDB على Ubuntu:
الطريقة 1: تفريغ MongoDB واستعادتها
- تصدير قاعدة البيانات: استخدم
mongodump
لإنشاء نسخة احتياطية من قاعدة البيانات المصدر:
$ mongodump --db source_database_name --out /path/to/backup_directory
استبدل source_database_name
باسم قاعدة بيانات المصدر.
- نسخ النسخة الاحتياطية: نقل ملفات النسخة الاحتياطية إلى الخادم المستهدف باستخدام أساليب آمنة مثل SCP أو SFTP.
- استيراد قاعدة البيانات: على الخادم المستهدف، استخدم
mongorestore
لاستيراد النسخة الاحتياطية إلى قاعدة بيانات جديدة:
$ mongorestore --db target_database_name /path/to/backup_directory/source_database_name/
استبدل اسم_قاعدة_البيانات_المستهدفة
باسم قاعدة البيانات المستهدفة.
- التحقق من التهجير: تأكد من استيراد البيانات بشكل صحيح عن طريق التحقق من قاعدة البيانات المستهدفة على الخادم الجديد.
الطريقة 2: باستخدام mongoexport
وmongoimport
نهج آخر لتهجير البيانات هو باستخدام منفذات mongoexport
وmongoimport
. تصدّر هذه الطريقة البيانات في تنسيق JSON أو CSV، مما يجعلها أكثر قابلية للقراءة بالنسبة للبشر ولكن ربما أقل كفاءة لمجموعات البيانات الكبيرة.
- تصدير البيانات من قاعدة البيانات المصدر:
$ mongoexport --db source_database_name --collection collection_name --out /path/to/exported_data.json
استبدل source_database_name
باسم قاعدة بيانات المصدر وcollection_name
باسم المجموعة التي تريد تصديرها.
- نسخ البيانات المصدّرة: نقل ملف البيانات المصدّر إلى الخادم المستهدف.
- استيراد البيانات إلى قاعدة البيانات المستهدفة:
$ mongoimport --db target_database_name --collection collection_name --file /path/to/exported_data.json
استبدل target_database_name
باسم قاعدة البيانات المستهدفة وcollection_name
باسم المجموعة.
- التحقق من التهجير: تأكد من استيراد البيانات بشكل صحيح إلى قاعدة البيانات المستهدفة.
الخاتمة
في الختام، تتضمن إدارة قواعد بيانات MongoDB على Ubuntu مهامًا أساسية مثل النسخ الاحتياطي والاستعادة والتهجير. تعد هذه العمليات حاسمة للحفاظ على سلامة البيانات وتوافرها، سواء كنت تحمي نفسك من فقدان البيانات أو تتعافى من الأخطاء أو تكيف نفسك مع متطلبات البنية التحتية المتغيرة.
من خلال اتباع الخطوات الموضحة في هذا الدليل، يمكنك إنشاء استراتيجية إدارة بيانات قوية لنشر MongoDB الخاص بك على Ubuntu. تذكر تكييف هذه الأساليب وفقًا لاحتياجاتك وبنيتك التحتية المحددة، وإعطاء الأولوية دائمًا لأمن بياناتك واتساقها طوال هذه العمليات.