📑 المحتويات

    سواء كان متجرًا إلكترونيًا أو تطبيقًا للهواتف أو نظام عضويات أو مدونة، فإن أثمن بيانات موقعك (كلمات مرور المستخدمين والطلبات والإعدادات والمحتوى) محفوظة في قاعدة بيانات 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 kullanıcı_adı -p veritabanı_adı > yedek.sql
    • --single-transaction: يتيح النسخ دون قفل الجداول. فلا تتوقف العمليات بينما موقعك يعمل.
    • --quick: يكتب البيانات مباشرةً إلى الملف فيمنع الاستهلاك المفرط للذاكرة في القواعد الكبيرة.

    3. ما هو النسخ التزايدي في MySQL؟

    إذا كان حجم قاعدتك 5 غيغابايت أو أكثر، فإن أخذ نسخة كاملة من الصفر يوميًا يُرهق معالج الخادم ويستهلك مساحة القرص بسرعة.

    النسخ التزايدي ينسخ فقط الصفوف التي تغيّرت أو أُضيفت منذ آخر نسخة. ويُنفَّذ عبر تقنية binary log في MySQL، ويوفّر ما يصل إلى 95% من مساحة القرص وحركة الخادم.

    4. نسخ MySQL آمن وتلقائي مع Yedekalma

    أخذ النسخ وحفظها يدويًا أمر شاق وعرضة للخطأ البشري. Yedekalma تنسخ قاعدة بيانات MySQL من خادمك تلقائيًا وبأمان:

    • تشفير AES-256 من جانب العميل: تُشفَّر نسخة قاعدة بيانات SQL بمعيار AES-256 قبل أن تغادر الخادم.
    • تمرين الاستعادة (تحقق تلقائي): يُتحقَّق أسبوعيًا وتلقائيًا مما إذا كانت النسخ تالفة — هل يُفتح الأرشيف، وهل المحتوى مكتمل، وهل تتطابق البصمة.

    الأسئلة الشائعة

    كيف تُؤخذ نسخة احتياطية لقاعدة بيانات MySQL؟

    أشيع طريقة هي أمر mysqldump: ‏`mysqldump -u user -p database > backup.sql`. لا تكتب كلمة المرور في سطر الأوامر (فهي تظهر في قائمة العمليات)؛ استخدم بدلًا من ذلك ملف ~/.my.cnf أو ‎--defaults-extra-file. وللقواعد الصغيرة يكفي تبويب «تصدير» في phpMyAdmin، لكنه قد يصطدم بانتهاء مهلة PHP في الجداول الكبيرة.

    كل كم تُؤخذ نسخة MySQL؟

    المعيار هو مدة البيانات التي تحتمل خسارتها (RPO). ففي موقع تعريفي ثابت قد تكفي نسخة أسبوعية؛ وفي موقع يُضاف إليه محتوى يوميًا تلزم نسخة يومية؛ وفي متجر إلكتروني يستقبل الطلبات تلزم نسخة كل ساعة — لأن خسارة ساعة هناك تعني خسارة طلبات.

    هل يمكن استخدام النسخ التزايدي لقاعدة البيانات؟

    يمكن في الملفات، لكن ليس في تفريغ قاعدة البيانات: فكل تشغيل لـ mysqldump ينتج البيانات كاملة، والتفريغ الناقص لا يُستعاد. لذلك تعمل Yedekalma تزايديًا في مكوّني الملفات والبريد، بينما تأخذ قاعدة البيانات كاملة في كل مرة. أما الاستعادة التزايدية الحقيقية فتتم عبر PITR المعتمد على binlog وهي موضوع مستقل.

    هل عليّ مشاركة كلمة مرور قاعدة بياناتي مع خدمة النسخ؟

    لا. ففي Yedekalma تأخذ التفريغَ وحدةُ PHP التي تعمل على خادم موقعك؛ ويبقى اسم مستخدم MySQL وكلمة مروره في ملف الإعدادات على خادمك ولا يُرسَلان إلى خادم Yedekalma. ولا ترى اللوحة سوى بيانات النسخة الوصفية (الحجم والتاريخ والبصمة).

    لا تترك أمان قاعدة بياناتك للصدفة

    أنشئ خطة نسخ MySQL خلال خمس دقائق مع Yedekalma، واحفظ بياناتك تلقائيًا في تخزين سحابي مشفّر.

    ابدأ التجربة المجانية