عرض مشاركة مفردة
 
  #1  
قديم 06-09-2004, 04:21 AM
الأوائل الأوائل غير متصل
عضو
 
تاريخ التسجيل: Mar 2004
مشاركة: 13
مستوى تقييم العضوية: 0
الأوائل is on a distinguished road
الافتراضي لا مشكلة في الجداول بعد هذا الحل

السلام عليكم ورحمة الله وبركاته

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


فان سبب هذه المشكله هو ترقية برنامج phpmyadmin وبالتالي يجب عليك أن تقوم بالتشييك على قاعدة بيانات المنتدى الخاص بك ، ولمعرفة اذا كان هناك جدول معطوب اتبع الخطوات التالية :

1 - ادخل على لوحة التحكم الخاصه بموقعك cpanel .
2 - ستجد في الاسفل في قسم Scripts & DB وفي السطر الثاني مكتوب MySQL Databases اضغط عليها .
3 - ستفتح لك صفحه اخرى خاصه بقواعد البيانات ، انزل الى اسفل اخر سطر ستجد مكتوب وبخط كبير phpMyAdmin ، اضغط عليها .
4 - سوف تفتح لك صفحه جديده ، تنقسم الصفحه الى قسمين ، القسم اللي على اليسار فيه قائمة منسدله وبها اسماء قواعد البيانات ، والقسم اللي في اليمين وهو مأخذ مساحة كبيره هو لعرض معلومات قواعد البيانات .
5 - اختر من القائمة المنسدله اللي على اليسار اسم قاعدة بيانات المنتدى الخاص بك .
6 - سوف تفتح لك صفحه في القسم اللي على اليمين اللي مساحته كبيره ، فيها يتم عرض اسماء قواعد البيانات بالاضافة الى بعض الخيارات على يمين كل جدول ومن هذه الخيارات :
Browse Select Insert Properties Drop Empty 1 MyISAM 4.1 KB

اذا وجدت هذه العباره امام أي جدول من الجداول الخاصه بالمنتدى وغالباً تكون في أحد الجدولين التاليين : thread أو user

العباره : ((((((( in use )))))))

فهذا يعني بأن هناك جدول معطوب ، ولحل هذه المشكله كل ما عليك هو التالي :

1 - في أعلى الصفحه الموجود فيها اسماء الجداول ( اخر صفحه دخلنا لها ) ستجد مكتوب sql اضغط عليها .
2 - ستفتح لك صفحه اخرى فيها مربع نص فوق مربع النص مكتوب العباره التالية :
Run SQL query/queries on database dbname_vb [Documentation] :

اكتب بداخل مربع النص العباره التالية :

REPAIR TABLE thread;

هذه العباره في حالة أن الجدول المعطوب هو جدول thread ، فلو كان الجدول المعطوب هو جدول الـ user ، فيجب أن تغير في العباره وتكون بهذا الشكل :

REPAIR TABLE user;

فلو لاحظت بأننا قمنا بتغير اسم الجدول من الـ thread الى الـ user .

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

هناك جدول اخر تختلف مشكلته عن جدول الـ thread وجدول الـ user ، وهو جدول الــ ((( session ))) .

كيف تعرف أن هناك مشكلة في جدول الــ ((( session ))) ؟

بنفس الخطوات السابقه الى نهاية الخطوه رقم 5 :

5 - اختر من القائمة المنسدله اللي على اليسار اسم قاعدة بيانات المنتدى الخاص بك .

6 - سوف تفتح لك صفحه في القسم اللي على اليمين اللي مساحته كبيره ، فيها يتم عرض اسماء قواعد البيانات بالاضافة الى بعض الخيارات على يمين كل جدول ومن هذه الخيارات كالتالي :
Browse Select Insert Properties Drop Empty 1 MyISAM 4.1 KB

اذا وجدت أن جدول session مكتوب امامه هذه العباره (((((( HEAP 0 Bytes )))))

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

حل مشكلة جدول الـ session :

1 - سنشاهد في نفس الصف اللي فيه جدول الـ session خيار اسمه ((( Drop ))) وهو يعني حذف الجدول ، نضغط على هذا الخيار ، وسوف يطلب مننا تأكيد حذف الجدول ، نضغط على أوكية لتأكيد حذف الجدول .

2 - سوف نعود مره اخرى الى الصفحه الموجوده بها اسماء الجداول الخاصه بالمنتدى ، ثم بعد ذلك نضغط على اللنك (((( sql )))) الموجود في أعلى الصفحه .

3 - سوف تفتح لنا صفحه جديده اخرى ، وفيها مربع نص كبير ، نضع فيه هذه العباره :



CREATE TABLE `session` (
`sessionhash` char(32) NOT NULL default '',
`userid` int(10) unsigned NOT NULL default '0',
`host` char(50) NOT NULL default '',
`useragent` char(50) NOT NULL default '',
`lastactivity` int(10) unsigned NOT NULL default '0',
`location` char(255) NOT NULL default '',
`styleid` smallint(5) unsigned NOT NULL default '0',
`althash` char(32) NOT NULL default '',
PRIMARY KEY (`sessionhash`)
) TYPE=MyISAM;

ثم نقوم بالضغط على Go .

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

مع تمنياتي للجميع بالتوفيق ان شاء الله .