انتقل إلى محتوى الدرس

Restoring Backups via SOURCE استعادة النسخة الاحتياطية عملياً

تعلّم النسخ الاحتياطي واستعادة قواعد البيانات عبر أداة mysqldump والخيار --single-transaction والاستعادة الزمنية (PITR) في MySQL 8.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لا قيمة لأي نسخة احتياطية ما لم تتقن خطوات استعادتها والتحقق من سلامتها عملياً. وبما أن مخرجات أداة mysqldump عبارة عن ملف أوامر SQL قياسي، يمكنك استعادته بطريقتين أساسيتين:

  • الطريقة الأولى — الأمر التفاعلي SOURCE داخل عميل MySQL: اتصل بالخادم، أنشئ قاعدة البيانات المستهدفة واخترها بأمر USE، ثم نفّذ SOURCE /backups/shop_complete.sql;.
  • الطريقة الثانية — إعادة التوجيه من طرفية النظام: نفّذ الأمر mysql -u root -p shop_db < shop_complete.sql مباشرة من سطر الأوامر.
  • تسريع الاستعادة التلقائي: يضيف mysqldump في بداية الملف تلقائياً أوامر SET FOREIGN_KEY_CHECKS = 0; لتعطيل فحص المفاتيح الأجنبية مؤقتاً أثناء تحميل الجداول المترابطة بأقصى سرعة، ثم يعيد تفعيلها (= 1) في نهاية الملف.
  • اختبار الاستعادة الدوري (Restore Drill): استعد النسخة دورياً داخل قاعدة بيانات تجريبية منفصلة (shop_db_restore_test) للتأكد من اكتمال الجداول والصفوف.
Database changed
Query OK, 0 rows affected (0.02 sec)
+---------------+-----------+
| table_name    | row_count |
+---------------+-----------+
| customers     |      1250 |
| orders        |      8420 |
+---------------+-----------+
SQL
CREATE DATABASE IF NOT EXISTS shop_db_restore_test
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_0900_ai_ci;

USE shop_db_restore_test;

-- Inside the mysql interactive client, execute the SQL dump file:
-- SOURCE /backups/shop_complete.sql;

SHOW TABLES;