الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية إصلاح تلف قاعدة بيانات خادم MySQL؟

ملخص: ستوضح هذه المدونة الأسباب المحتملة وراء مشكلة تلف قاعدة بيانات خادم MySQL ، وخطوات حل المشكلة. تتضمن هذه الخطوات إجراء نسخ احتياطي لقاعدة البيانات (db) قبل إجراء عمليات الاسترداد ، باستخدام "innodb_force_recovery" ، وما إلى ذلك. وستشرح المدونة أيضًا كيفية إصلاح برنامج MySQL يمكن أن يساعد عندما تكون غير قادر على إصلاح واستعادة قاعدة البيانات.

يمكن أن يؤدي تلف قاعدة البيانات في MySQL Server ، إذا لم يتم التعامل معه بشكل صحيح أو حله في الوقت المناسب ، إلى توقف كبير عن العمل وفقد البيانات.

لسوء الحظ ، قد لا تلاحظ حتى أن خادم MySQL أصبح تالفًا ، حتى يصل الخادم إلى جدول تالف أو يتم إيقاف تشغيل الخادم.

ما الذي يسبب تلف قاعدة البيانات في MySQL Server؟

فيما يلي بعض الأسباب الشائعة وراء تلف MySQL:

  • فشل أجهزة الخادم.
  • يتم قتل عملية MySQL في منتصف الكتابة على القرص.
  • تعطل برنامج جهة خارجية للوصول إلى قاعدة البيانات بشكل غير متوقع.
  • المستخدمون الذين يحاولون نقل ملفات قاعدة البيانات يدويًا في دليل بيانات MySQL (أو datadir).
  • الخلل في برنامج خادم MySQL.

بالإضافة إلى هذه الأسباب ، يعتمد تلف db أيضًا على ما إذا كنت تستخدم MyISAM أو محرك تخزين InnoDB. وذلك لأن جداول MyISAM أكثر عرضة للفساد.

ماذا تفعل عندما تتلف قاعدة بيانات MySQL؟

عادة ، عندما يصبح MySQL db تالفًا ، يوصى باستعادته من آخر نسخة احتياطية جيدة معروفة. ولكن إذا لم يكن لديك النسخ الاحتياطي ، يمكن أن يساعد تنفيذ عمليات الاسترداد في إصلاح تلف قاعدة بيانات MySQL.

حتى في حالة توفر النسخ الاحتياطي ، يمكن أن تكون محاولة الاسترداد خيارًا أفضل حيث تستغرق وقتًا أقل في استعادة قاعدة البيانات على الإنترنت.

خطوات استكشاف الأخطاء وإصلاحها لحل تلف قاعدة بيانات MySQL

حاول حل تلف قاعدة البيانات باتباع الخطوات في التسلسل المدرج أدناه:

ملاحظة: ستعمل هذه الخطوات فقط إذا كان خادم قاعدة بيانات MySQL قيد التشغيل. ولكن ، إذا توقفت خدمة MySQL عن العمل (تعطلت) ولم تتمكن من تسجيل الدخول إلى عميل سطر أوامر MySQL ، فإن الخيار الوحيد المتبقي هو استعادة قاعدة البيانات من نسخة احتياطية معروفة جيدًا. إذا لم يكن هناك نسخة احتياطية باستخدام برنامج إصلاح MySQL متخصص قد يساعد.

الخطوة 1 – النسخ الاحتياطي لقاعدة البيانات الخاصة بك

قبل محاولة إصلاح قاعدة البيانات التالفة ، تأكد من عمل نسخة احتياطية من ملفات قاعدة البيانات أولاً.

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

لعمل نسخة احتياطية من كافة ملفات ديسيبل ، اتبع الخطوات التالية:

  1. قم بإيقاف خادم MySQL.
  2. قم بإنشاء نسخة احتياطية من datadir الخاص بك.

الخطوة 2 – إعادة قاعدة البيانات في وضع الاسترداد

ملاحظة: إذا كان MySQL Server يستخدم MyISAM كمحرك التخزين الافتراضي ، فانتقل إلى الخطوة 3 لمعرفة عملية إصلاح ديسيبل التالف.

إذا كان InnoDB هو محرك التخزين الافتراضي لخادم MySQL Server ، في بعض حالات تلف قاعدة البيانات ، فإن مجرد إغفال وإسقاط وإعادة إنشاء جدول واحد أو عدد قليل من الجداول الفاسدة سيعمل معك. لهذا ، استخدم العبارة CHECK TABLE للتحقق من الجداول الفاسدة.

اقرا هذا: كيفية إصلاح جدول قاعدة بيانات MySQL دون التوقف؟

إذا كان تلف قاعدة البيانات شديدًا ، فمن المحتمل أن تواجه مشاكل أثناء بدء تشغيل MySQL Server. في مثل هذه الحالة، إجبار الانتعاش InnoDB قد يساعد في بدء MySQL.

ليستخدم 'innodb_force_recovery"، اتبع الخطوات التالية:

  1. افتح ملف تكوين MySQL وأضف سطر التعليمات البرمجية التالي إلى قسم (الخلية) قبل إعادة تشغيل الخادم:

ملاحظة: يتم ضبط innodb_force_recovery على "0" افتراضيًا. ومع ذلك ، لبدء InnoDB وتفريغ جداول MySQL ، ستحتاج إلى تعيين القيمة على "1" وزيادة القيمة بشكل متزايد (من 1 إلى 6).

ولكن ، ضع في اعتبارك أن تعيين قيمة خيار innodb_force_recovery إلى 4 أو أكبر يزيد من فرص تلف البيانات.

(mysqld) innodb_force_recovery = 1

1 2 (الخلية) innodb_force_recovery=1
  • احفظ وأغلق ملف تكوين MySQL ، ثم حاول إعادة تشغيل خدمة MySQL مرة أخرى.
  • إذا كنت قادرًا على بدء MySQL ، فقم بتفريغ جميع قواعد بيانات MySQL في ملف واحد باستخدام الأمر التالي:

mysqldump -u (مستخدم) –p (كلمة مرور) – كل قواعد البيانات & GT. all_database.sql

1 الخلية ش (المستعمل) ص(كلمه السر) الكلقواعد بيانات &جي تي؛ جميع_قواعد البيانات.مزود

ملاحظة: يسمى ملف التفريغ في هذا المثال all_database.sql. ولكن ، يمكنك تغييره إلى ما تريد.

  • بعد ذلك ، قم بتعطيل وضع الاسترداد InnoDB. للقيام بذلك ، قم بالتعليق على السطر التالي في قسم (الخلية):

#innodb_force_recovery = …

1#innodb_force_recovery = …
  • احفظ التغييرات في ملف التهيئة ، ثم ابدأ خادم MySQL.
  • استعادة قواعد البيانات من التفريغ (ملف النسخ الاحتياطي) الذي قمت بإنشائه في الخطوه 3:

نبسب ؛ الخلية و GT. مصدر all_database.sql

1 &نبسب؛الخلية&جي تي؛ مصدر جميع_قواعد البيانات.مزود

أقرأ عن: أفضل الطرق لإصلاح تلف جدول InnoDB في MySQL.

الخطوة 3 – إصلاح جداول MyISAM باستخدام myisamchk

قم بتشغيل الأمر myisamchk لإصلاح جداول MyISAM باتباع الخطوات التالية:

ملاحظة: لا يعمل الأمر myisamchk للجداول التي تستخدم محرك InnoDB.

  1. قم بإيقاف خادم MySQL.
  2. استخدم الأمر التالي للتحقق من الجداول التالفة:

الجدول myisamchk

1 myisamchk الطاولة
  • للتحقق من كافة الجداول في قاعدة بيانات تالفة ، اكتب الأمر التالي:

myisamchk * .MYI

1 myisamchk *.MYI
  • حاول إصلاح جدول تالف بتنفيذ الأمر التالي:

myisamchk – جدول الاسترداد

1 myisamchk استعادة الطاولة
  • قم بتشغيل خادم MySQL.

ارجع إلى هذا الرابط للحصول على معلومات تفصيلية حول "كيفية إصلاح جدول MyISAM باستخدام myisamchk؟"

ماذا لو لم يعمل شيء؟

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

بعض الأسباب لماذا يجب عليك استخدام الإصلاح النجمي لبرمجيات MySQL

  • إصلاح جداول قاعدة بيانات MySQL التي تستخدم محركات قاعدة بيانات InnoDB (.frm ، .ibdata ، .idb) و MyISAM (.frm ، .myd ، .myi).
  • دفعة إصلاح عدة قواعد بيانات MySQL في عملية واحدة.
  • يستعيد جميع كائنات قاعدة البيانات مثل المفاتيح والجداول وخصائص الجدول وأنواع البيانات وطرق العرض والمشغلات.
  • معاينة كائنات قاعدة البيانات القابلة للاسترداد.
  • يسمح بحفظ قاعدة البيانات التي تم إصلاحها بتنسيقات ملفات متعددة مثل MySQL و CSV و HTML و XLS.
  • يدعم MySQL 8.x و 6.x و 5.x و 4.x و 3.x.

خطوات لإصلاح قاعدة بيانات MySQL الفاسدة مع إصلاح ممتاز لبرمجيات MySQL

الشروط:

  • يجب أن يكون موقع ملف "ibdata" مطابقًا تمامًا لموقع قاعدة بيانات MySQL.
  • تأكد من أن محرك الأقراص الوجهة به مساحة حرة كافية لتخزين جميع قواعد بيانات MySQL المستردة.
  • يجب تثبيت MySQL على نظامك.

الخطوة 1: تنزيل وتثبيت وتشغيل إصلاح ممتاز لـ MySQL البرمجيات.

الخطوة 2: في حدد مجلد البيانات نافذة ، حدد نسخة MySQL التي تستخدمها.

حدد نسخة خادم MySQL في نافذة تحديد مجلد البيانات الشكل 1- حدد نافذة مجلد البيانات

الخطوه 3: ال حدد قاعدة البيانات يتم عرض النافذة. حدد قاعدة البيانات التي تريد إصلاحها.

حدد قواعد البيانات المراد إصلاحها الشكل 2- حدد نافذة قاعدة البيانات

الخطوة الرابعة: انقر يصلح لبدء عملية الإصلاح.

الخطوة الخامسة: متى اكتمال الإصلاح يظهر مربع الحوار ، انقر فوق حسنا.

الخطوة السادسة: يعرض البرنامج معاينة لقاعدة البيانات التي تم إصلاحها ومكوناتها القابلة للاسترداد.

معاينة قاعدة البيانات التي تم إصلاحها الشكل 3 – نافذة المعاينة

الخطوة 7: انقر حفظ على ملف القائمة لحفظ قاعدة البيانات التي تم إصلاحها.

حدد قائمة الملفات الشكل 4 – قائمة الملف

الخطوة الثامنة: في حفظ قاعدة البيانات نافذة ، اختر MySQL انقر فوق تنسيق الملف ، ثم انقر فوق موافق حفظ.

خيارات حفظ الملف الشكل 5 – حفظ نافذة قاعدة البيانات

الخطوة 9: عندما "اكتملت عملية الحفظتظهر الرسالة ، انقر فوق حسنا.

رسالة الانتهاء من عملية الحفظ الشكل 6 – حفظ صندوق الرسائل بالكامل

سيتم حفظ قاعدة البيانات التي تم إصلاحها في الموقع المحدد.

النهاية Note

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

ولكن ، إذا لم تكن خبيرًا في معالجة تلف قاعدة البيانات أو لديك ديسيبل كبير الحجم (مع غيغابايت أو تيرابايت من البيانات) ، فقد تفشل في استعادة ديسيبل تالف مع خيارات الإصلاح والاسترداد. أيضًا ، قد تؤدي خيارات الاسترداد مثل innodb_force_recovery المعينة على قيمة 4 أو أكبر إلى تلف البيانات.

أفضل بديل هو استخدام برنامج إصلاح MySQL مصمم خصيصًا لإصلاح قاعدة بيانات فاسدة بسهولة ، بالتنسيق الأصلي.