حل لمشكل ظهور رسالة الخطأ MySQL server has gone away لدى محاولة استرجاع قاعدة بيانات على PHPMyAdmin

سبق وأن واجهت هذا المشكل أكثر من مرة، لدى محاولة استرجاع قاعدة بيانات لموقع يستخدم Drupal، حيث تظهر رسالة الخطأ التالية:

#2006 – MySQL server has gone away

على PHPMyAdmin والتي عادة ما يكون سببها أحد البيانات المسجلة في أحد جداول Cache.

هناك عدة طرق لتجنب الوقوع في هذا المشكل، وذلك بتفريغ Cache مثلا قبل حفظ قاعدة البيانات (لا تنجح دائما)، أو استخدام وحدات خاصة بحفظ نسخ من البيانات كوحدة Backup and Migrate، لكن ماذا لو لم تكن تملك في وضع يسمح لك بذلك، مثلا محاولة استرجاع بيانات من نسخة قديمة، تم حفظها بشكل سيء؟، أو ربما لم يكن المشكل يتعلق بـ Cache (أو بنظام Drupal) من أساسه.

الحل يكمن في تغيير إعدادات Mysql، حيث يكفي إعطاء الإعداد max_allowed_packet قيمة أكبر.

إن كنت تستخدم Wamp مثلا، فإنه يكفي النقر على زر التطبيق (الذي يظهر بجانب الساعة في Notification Bar) ثم فتح ملف my.ini من تفرع MySQL ثم ابحث عن max_allowed_packet واعطها قيمة أكبر.

أعد تشغيل Wamp، ثم قم بإعادة محاولة استرجاع قاعدة البيانات من جديد.

 

استرجاع قواعد البيانات السابقة بعد إعادة تنصيب Wamp

يعاني بعض مستعملي الخوادم المحلية كـ Wamp و أخواتها من ضياع قواعد البيانات التي كانوا يعملون عليها بعد إعادة تنصيب الخادم المحلي (عادة بعد إعادة تنصيب النظام)، أو لدى إعادة تنصيب الخادم المحلي في غير المجلد الذي تم التنصيب فيه من قبل.

صادفني هذا المشكل مرات عديدة، لكن في كل مرة كنت قادرا على استرجاع قواعد البيانات التي كنت أعمل عليها من ملفات الـ BackUp التي أعملها دوريا، لكن حدث معي أني أعدت تنصيب Wamp بعد إعادة تنصيب النظام و لم أكن أملك BackUp لقواعد البيانات جاري العمل عليها مما دفعي للبحث عن حلول أخرى.

الحل بسيط و سهل (لكن وجب البحث عنه، شكرا Google 🙂  )، حيث أن Wamp يحتفظ بقواعد البيانات في المجلد التالي:

x:/wamp/bin/mysql/mysql5.1.3x/data/

في هذه الحالة لدينا حلان: إما أن تقوم بنقل محتويات مجلد Data الخاص بالتنصيب القديم لـ Wamp إلى المجلد Data الخاص بالتنصيب الأحدث.

أو يكفي تغيير قيمة المتغير datadir الموجود في الملف my.ini و جعلها مساوية لمسار المجلد Data في التنصيب القديم.

للدخول إلى ملف my.ini ، انقر مرة واحدة على أيقونة Wamp في الـ sysTray (بجانب الساعة في نظام Windows)<  MySQL < my.ini

المتغير datadir تجده في السطر 40 (إن لم تدخل أية تعديلات على هذا الملف من قبل).

و السلام عليكم

حل آخر لمشكل عدم التمكن من رفع قاعدة بيانات أكبر من 2M على phpMyadmin لدى استعمال Wamp

السلام عليكم

استعرضنا من قبل حلا (أو لنقل التفافا حول المشكل فقط) لمشكل عدم التمكن من رفع قاعدة بيانات أكبر من 2M على phpMyadmin لدى استعمال Wamp.

هذه المرة حل  نستعرض حلا نهائيا إذ أنه يجب التعديل على المتغير الذي يحدد الحجم الأقصى للملفات المرفوعة و ذلك بالتعديل على ملف PHP.INI

يكفي البحث عن 2M و استبدالها بـ 32M مثلا في السطر

upload_max_filesize = 2M

لكن لا يجب  التعديل مباشرة على الملف PHP.INI يدويا و إنما يجب فتحه من خلال الـ Wamp أي بالنقر على أيقونة البرنامج في الـ systray (بالقرب من الساعة) و بعدها اختيار PHP < PHP.INI

أرجو أن تفيدكم هذه المعلومة

و السلام عليكم

حل لمشكل Table is marked as crashed and should be repaired

السلام عليكم

واجهتني اليوم مشكلة صغيرة و المتمثلة في ظهور رسالة الخطأ التالية Table  is marked as crashed and should be repaired لما كنت أقوم ببعض التعديلات على موقع على الـ server المحلي مبني بـ Drupal

لم تكن لدي أدنى فكرة عن سبب المشكل لكن تصادف الأمر مع عمل Backup لقاعدة بيانات موقع آخر 😀

المهم ، بعد بحث سريع على النت وجدت أن هذا المشكل ليست له علاقة بالـ drupal و إنما هو خطأ شائع في قواعد بيانات MySql

إذا كنت تعاني من هذا المشكل  فالحل جد بسيط و المتمثل في عمل إصلاح سريع للجدول الذي يسبب المشكل في قاعدة البيانات

كل ما عليك فعله هو الذهاب إلى قاعدة البيانات التي تحتوي الجدول المسبب للمشكل و من ثم تحديد الجدول.

و بعدها اذهب إلى الخيارات الموجودة أسفل الصفحة و اختيار Repair Table مثلما هو ظاهر في الصورة التالية

و يتم حل المشكل

و السلام عليكم