ديف أوبس

كيفية إنشاء نسخ احتياطية MySQL

كيفية إنشاء النسخ الاحتياطية الساخنة لقواعد بيانات MySQL باستخدام Percona XtraBackup على Ubuntu

مقدمة

تعد النسخ الاحتياطية جزءًا حيويًا من إدارة قواعد البيانات، حيث تضمن حماية البيانات من الفقدان أو التلف. عند التعامل مع قواعد البيانات التي تحتوي على حجم ضخم من المعلومات وبيانات مهمة، يصبح من الضروري أن تكون هناك خطة موثوقة لإنشاء النسخ الاحتياطية بشكل دوري. في بيئات الإنتاج الحية، لا يمكن إيقاف قاعدة البيانات من أجل إجراء النسخ الاحتياطي، لذلك فإن استخدام نسخ احتياطي “ساخن” أو “حي” يعد أمرًا ضروريًا.

في هذا المقال، سنتناول كيفية إعداد النسخ الاحتياطية الساخنة لقواعد بيانات MySQL باستخدام Percona XtraBackup على Ubuntu، وهي أداة متخصصة تم تطويرها لتحسين سرعة وموثوقية النسخ الاحتياطي لقواعد البيانات MySQL وMariaDB دون الحاجة لإيقاف الخدمة.

ما هو Percona XtraBackup؟

Percona XtraBackup هو أداة مفتوحة المصدر لإنشاء نسخ احتياطية من قواعد بيانات MySQL وMariaDB بطريقة لا تؤثر على أداء النظام، حيث يمكنها إنشاء نسخ احتياطية دون الحاجة لإيقاف الخادم أو إغلاق قاعدة البيانات. يعتمد XtraBackup على تقنيات غير مدمرة، مما يعني أنه يمكن إجراء النسخ الاحتياطية أثناء عمل النظام، وبالتالي لا تؤثر على التطبيقات أو الخدمات التي تعتمد على قاعدة البيانات.

تعد Percona XtraBackup من الأدوات الأكثر شيوعًا في بيئات الإنتاج عالية الكفاءة التي تحتاج إلى نسخ احتياطي دوري وتوفير استرداد سريع في حالات الطوارئ.

متطلبات النظام

قبل البدء في تنفيذ النسخ الاحتياطي باستخدام Percona XtraBackup، يجب التأكد من توفر المتطلبات التالية:

  1. Ubuntu Server: هذه الطريقة مخصصة لأنظمة Ubuntu، وتحديدًا إصدارات 18.04 وما بعدها.

  2. MySQL أو MariaDB: يجب أن يكون لديك MySQL أو MariaDB مثبتًا على الخادم.

  3. أداة Percona XtraBackup: سيتم تحميلها وتثبيتها لاحقًا.

تثبيت Percona XtraBackup

الخطوة الأولى هي تثبيت Percona XtraBackup على نظام Ubuntu الخاص بك. للوصول إلى أحدث إصدار من XtraBackup، يجب إضافة مستودع Percona الرسمي إلى النظام.

  1. تحديث النظام: أولاً، تأكد من تحديث قائمة الحزم على النظام باستخدام الأمر التالي:

    bash
    sudo apt update sudo apt upgrade -y
  2. إضافة مستودع Percona: لإضافة مستودع Percona الرسمي، قم بتشغيل الأوامر التالية:

    bash
    wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb sudo dpkg -i percona-release_latest.generic_all.deb sudo apt update
  3. تثبيت Percona XtraBackup: بعد تحديث المستودعات، قم بتثبيت Percona XtraBackup باستخدام الأمر التالي:

    bash
    sudo apt install percona-xtrabackup-80
  4. التحقق من التثبيت: للتأكد من أن الأداة قد تم تثبيتها بنجاح، قم بتشغيل الأمر التالي للتحقق من الإصدار:

    bash
    xtrabackup --version

إنشاء النسخ الاحتياطية الساخنة باستخدام Percona XtraBackup

الآن بعد أن تم تثبيت Percona XtraBackup، يمكننا البدء في إنشاء النسخ الاحتياطية الساخنة.

1. إعداد البيئة:

قبل البدء في إجراء النسخ الاحتياطي، يجب التأكد من أن خدمة MySQL قيد التشغيل. استخدم الأمر التالي للتحقق:

bash
sudo systemctl status mysql

إذا لم تكن الخدمة تعمل، يمكنك تشغيلها باستخدام:

bash
sudo systemctl start mysql
2. إنشاء النسخة الاحتياطية:

أحد أكبر المزايا في استخدام Percona XtraBackup هو القدرة على إجراء نسخ احتياطية أثناء تشغيل قاعدة البيانات. لإنشاء النسخة الاحتياطية، استخدم الأمر التالي:

bash
xtrabackup --backup --target-dir=/path/to/backup/dir --user=mysql_user --password=mysql_password

شرح الخيارات:

  • --backup: يشير إلى أن العملية هي نسخ احتياطي.

  • --target-dir: يحدد المجلد الذي سيتم تخزين النسخة الاحتياطية فيه.

  • --user و --password: يستخدمان لتحديد بيانات اعتماد المستخدم في MySQL.

ستبدأ عملية النسخ الاحتياطي، وستلاحظ أن البيانات يتم نسخها بشكل غير مدمج، مما يعني أن العمليات في قاعدة البيانات ستستمر كما هي.

3. إنهاء النسخة الاحتياطية:

بعد اكتمال النسخ الاحتياطي، يتم إنشاء ملف يحتوي على بيانات النسخة الاحتياطية. من المهم أن تقوم بـ إجراء العملية النهائية لدمج سجل الـ redo logs مع النسخة الاحتياطية حتى تصبح النسخة جاهزة للاسترجاع في أي وقت.

لتنفيذ هذه الخطوة، استخدم الأمر التالي:

bash
xtrabackup --prepare --target-dir=/path/to/backup/dir

هذا سيضمن دمج جميع التغييرات التي حدثت بعد بدء عملية النسخ الاحتياطي.

4. التحقق من النسخة الاحتياطية:

من المهم التحقق من أن النسخة الاحتياطية قد تم إنشاؤها بنجاح. يمكنك التحقق من صحة النسخة الاحتياطية باستخدام الأمر التالي:

bash
xtrabackup --check --target-dir=/path/to/backup/dir

إذا كانت النسخة الاحتياطية صحيحة، فسيتم عرض رسالة تأكيد.

استعادة النسخة الاحتياطية باستخدام Percona XtraBackup

بعد إنشاء النسخة الاحتياطية، يمكن استعادتها باستخدام Percona XtraBackup. لاستعادة النسخة الاحتياطية، يجب أولاً إيقاف خدمة MySQL ثم نسخ البيانات من النسخة الاحتياطية إلى الدليل الأصلي.

  1. إيقاف خدمة MySQL:

bash
sudo systemctl stop mysql
  1. نسخ البيانات من النسخة الاحتياطية:

bash
sudo cp -R /path/to/backup/dir/* /var/lib/mysql/
  1. إعادة تشغيل خدمة MySQL:

bash
sudo systemctl start mysql
  1. التحقق من الاستعادة:

يمكنك التحقق من الاستعادة عبر تسجيل الدخول إلى MySQL والتحقق من البيانات.

bash
mysql -u root -p

ثم قم بتشغيل الاستعلامات المناسبة للتحقق من أن البيانات قد تم استعادتها بشكل صحيح.

جدولة النسخ الاحتياطية باستخدام Cron

لإجراء النسخ الاحتياطية بشكل دوري، يمكن استخدام Cron لجدولة النسخ الاحتياطي على فترات منتظمة.

  1. تحرير ملف cron:

bash
sudo crontab -e
  1. إضافة المهمة المجدولة: على سبيل المثال، لإجراء نسخ احتياطي يوميًا في الساعة 3 صباحًا:

bash
0 3 * * * /usr/bin/xtrabackup --backup --target-dir=/path/to/backup/dir --user=mysql_user --password=mysql_password

الخلاصة

يعد Percona XtraBackup أداة قوية لإنشاء نسخ احتياطية من قواعد بيانات MySQL دون التأثير على أداء النظام. يوفر العديد من المزايا لبيئات الإنتاج التي تحتاج إلى ضمان استمرارية الخدمة أثناء النسخ الاحتياطي. باستخدام هذه الأداة، يمكن للمؤسسات إدارة نسخ احتياطية موثوقة وآمنة لقواعد البيانات الخاصة بها على Ubuntu، مما يضمن حماية البيانات في حال حدوث أي مشكلة أو عطل.