📑 المحتويات
سواء كان متجرًا إلكترونيًا أو تطبيقًا للهواتف أو نظام عضويات أو مدونة، فإن أثمن بيانات موقعك (كلمات مرور المستخدمين والطلبات والإعدادات والمحتوى) محفوظة في قاعدة بيانات MySQL. فإذا فقدت ملفاتك أمكنك إعادة كتابة الشيفرة، أما فقدان قاعدة البيانات فيسبّب أضرارًا مادية ومعنوية لا تُعوَّض. في هذا المقال جمعنا أفضل إعدادات الأمان واستراتيجيات النسخ التي يمكنك تطبيقها لحماية قاعدة بياناتك.
1. أمان قاعدة بيانات MySQL (إجراءات التحصين)
حماية قاعدتك من الهجمات الخارجية لا تقل أهمية عن نسخها احتياطيًا. طبّق هذه الخطوات الأساسية لمنع الاختراق:
أغلق الوصول الخارجي (Bind Address)
انكشاف خادم MySQL على العالم الخارجي ثغرة أمنية كبيرة. وللسماح باتصالات localhost فقط (داخل الخادم) تحقّق من إعداد bind-address في ملف my.cnf أو mysqld.cnf :
bind-address = 127.0.0.1
بفضل هذا الإعداد تُمنَع محاولات الاتصال المباشر بقاعدتك من خارج الخادم.
امنع الاتصال البعيد لمستخدم root
يملك مستخدم root في MySQL كامل الصلاحيات وهو هدف شائع لهجمات القوة الغاشمة. تأكّد من أنه لا يستطيع الاتصال إلا من داخل الخادم:
ALTER USER 'root'@'%' IDENTIFIED BY 'CokGucluSifre123!'; -- للوصول من localhost فقط: RENAME USER 'root'@'%' TO 'root'@'localhost';
🚨 برامج الفدية وتسريبات البيانات
في السنوات الأخيرة تمسح بوتات آلية منافذ MySQL المكشوفة (3306) ذات كلمات المرور الضعيفة، فتشفّر البيانات وتطلب فدية. وكلمات المرور القوية وقصر الوصول على المحلي يقلّلان هذه المخاطر كثيرًا.
2. أكثر أساليب mysqldump أمانًا
أشيع طريقة لنسخ قواعد بيانات MySQL هي أمر mysqldump . لكن في القواعد الكبيرة تحتاج إلى المعاملات الصحيحة لمنع قفل الجداول أثناء النسخ:
mysqldump --single-transaction --quick --lock-tables=false -u username -p database_name > backup.sql
--single-transaction: يتيح النسخ دون قفل الجداول. فلا تتوقف العمليات بينما موقعك يعمل.--quick: يكتب البيانات مباشرةً إلى الملف فيمنع الاستهلاك المفرط للذاكرة في القواعد الكبيرة.
3. ما هو النسخ التزايدي في MySQL؟
إذا كان حجم قاعدتك 5 غيغابايت أو أكثر، فإن أخذ نسخة كاملة من الصفر يوميًا يُرهق معالج الخادم ويستهلك مساحة القرص بسرعة.
النسخ التزايدي ينسخ فقط الصفوف التي تغيّرت أو أُضيفت منذ آخر نسخة. ويُنفَّذ عبر تقنية binary log في MySQL، ويوفّر قدرًا كبيرًا من مساحة القرص وحركة الخادم.
4. نسخ MySQL آمن وتلقائي مع Yedekalma
أخذ النسخ وحفظها يدويًا أمر شاق وعرضة للخطأ البشري. Yedekalma تنسخ قاعدة بيانات MySQL من خادمك تلقائيًا وبأمان:
- تشفير AES-256 اختياري: عند تفعيله تُشفَّر نسخة قاعدة بيانات SQL على خادم موقعك بكلمة مرور لا يعرفها سواك، وتصل إلى مساحة التخزين مشفّرة؛ لا نحتفظ بكلمة المرور ولا نستطيع نحن أيضًا فتحها.
- تحقق من 8 طبقات: في كل نسخة يُفحص تلقائيًا نطاق التغطية واكتمال تفريغ قاعدة البيانات والسلامة ووجود النسخة في وجهتها؛ كما يُنزِّل اختبار استعادة أسبوعي بالعيّنة أرشيفات مختارة على خادمك ويتحقق من أنها تُفتح.
الأسئلة الشائعة
كيف تُؤخذ نسخة احتياطية لقاعدة بيانات MySQL؟
أشيع طريقة هي أمر mysqldump: `mysqldump -u user -p database > backup.sql`. لا تكتب كلمة المرور في سطر الأوامر (فهي تظهر في قائمة العمليات)؛ استخدم بدلًا من ذلك ملف ~/.my.cnf أو --defaults-extra-file. وللقواعد الصغيرة يكفي تبويب «تصدير» في phpMyAdmin، لكنه قد يصطدم بانتهاء مهلة PHP في الجداول الكبيرة.
كل كم تُؤخذ نسخة MySQL؟
المعيار هو مدة البيانات التي تحتمل خسارتها (RPO). ففي موقع تعريفي ثابت قد تكفي نسخة أسبوعية؛ وفي موقع يُضاف إليه محتوى يوميًا تلزم نسخة يومية؛ وفي متجر إلكتروني يستقبل الطلبات تلزم نسخة كل ساعة — لأن خسارة ساعة هناك تعني خسارة طلبات.
هل يمكن استخدام النسخ التزايدي لقاعدة البيانات؟
على مستوى الجداول لا الصفوف: في كل تشغيل يُنتج mysqldump الجداول المختارة كاملة، ولا يمكن استعادة تفريغ ناقص. وفي وحدة النسخ الاحتياطي PHP من Yedekalma يكون الوضع التزايدي اختياريًا: في الملفات يعتمد على وقت التعديل، وفي البريد على IMAP UID؛ أما في قاعدة البيانات فبعد نسخة كاملة لا يُعاد تفريغ إلا الجداول التي تغيّر مجموعها الاختباري على مستوى الجدول (CHECKSUM). ويكون هذا التفريغ دائمًا قياسًا إلى آخر نسخة كاملة (تفاضلي)؛ والنسخ التي تُبدأ يدويًا كاملة دائمًا، وتُجدَّد النسخة الكاملة دوريًا. أما في إضافة ووردبريس وفي الوضع المجزّأ للمواقع الكبيرة جدًا فقاعدة البيانات ليست تزايدية: يُؤخذ تفريغ كامل في كل تشغيل. أما الاسترجاع التزايدي الحقيقي لقاعدة البيانات فيتم عبر PITR المعتمد على binlog، وهو موضوع منفصل.
هل عليّ مشاركة كلمة مرور قاعدة بياناتي مع خدمة النسخ؟
لا. ففي Yedekalma تأخذ التفريغَ وحدةُ PHP التي تعمل على خادم موقعك؛ ويبقى اسم مستخدم MySQL وكلمة مروره في ملف الإعدادات على خادمك ولا يُرسَلان إلى خادم Yedekalma. ولا ترى اللوحة سوى بيانات النسخة الوصفية (الحجم والتاريخ والبصمة).
لا تترك أمان قاعدة بياناتك للصدفة
أنشئ خطة نسخ MySQL مع Yedekalma في خمس دقائق، واحفظ بياناتك تلقائيًا في مساحة التخزين السحابية الخاصة بك مع تشفير اختياري.
صفحات ذات صلة: نسخ احتياطي لقاعدة البيانات · النسخ الاحتياطي التزايدي · النسخ الاحتياطي المشفر
ابدأ التجربة المجانية