حل لمشكل ظهور رسالة الخطأ 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

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

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

حل لمشكل عدم التمكن من رفع قاعدة بيانات كبيرة على phpMyAdmin

السلام عليكم

إن صادفك مشكل عدم تمكنك من رفع قاعدة بيانات كبيرة على phpMyAdmin  و ظهرت لك رسالة تقول:

You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.

فإليك الحل (طبعا هذا الحل ليس من اختراعي و إنما توصلت إليه كالعادة بعد بحث على النت):

افتح الملف config.inc.php الموجود داخل مجلد phpMyAdmin

ابحث عن السطر:

$cfg[‘UploadDir’] = ”;

و أضف إليه كلمة upload  ليصبح كالتالي:

$cfg[‘UploadDir’] = ‘upload’;

و احفظ التغيرات الحاصلة على الملف.

قم بوضع قاعدة البيانات الكبير التي تود رفعها في هذا المجلد.

ارجع إلى المجلد phpMyAdmin و قم بإنشاء مجلد جديد يحمل الاسم upload

الآن افتح phpMyAdmin و اذهب إلى لسان تبويب Import

ستظهر لك قائمة جديدة لم تكن تظهر من قبل و ستحتوي قواعد البيانات الموضوعة في مجلد upload

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

بعد انتهاء العملية بنجاح ارفع يديك للسماء و ادعي لي 🙂

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