بسم الله الرحمن الرحيم
انا النهارده حصل معايا موقف غريب شويه خلني الف حولين نفسي ومبقتش عارف ايه اساس المشكله لان عملت شئ عمره ما حصل معايا قبل كدا فيه مشاكل
المشكله بدأت ازي
انا كنت بخدف قسم من اقسام المنتدي
طلع لي رساله نعم ام لاء
كنت سعتها متسرع لاني كنت مشغول
فا تفجئت ان في خطأ في الداتا بيز
فا لو سمحتم محدش عنده الحل السريع لان منتدايا موقف للصيانه ارجو الرد بسرعه وشكرأ ليكم
ودي الرساله الي طلعلتي
Database error in vBulletin 3.8.6:
Invalid SQL:
SELECT
IF(votenum >= 1, votenum, 0) AS votenum,
IF(votenum >= 1 AND votenum > 0, votetotal / votenum, 0) AS voteavg,
post.pagetext AS preview,
thread.threadid, thread.title AS threadtitle, thread.forumid, pollid, open, postusername, postuserid, thread.iconid AS threadiconid,
thread.dateline, notes, thread.visible, sticky, votetotal, thread.attach, thread.lastpost, thread.lastposter, thread.lastpostid, thread.replycount, IF(thread.views<=thread.replycount, thread.replycount+1, thread.views) AS views,
thread.prefixid, thread.taglist, hiddencount, deletedcount
, NOT ISNULL(subscribethread.subscribethreadid) AS issubscribed
, deletionlog.userid AS del_userid, deletionlog.username AS del_username, deletionlog.reason AS del_reason
, threadredirect.expires
, post.pagetext AS previewbbcode
FROM thread AS thread
LEFT JOIN deletionlog AS deletionlog ON(thread.threadid = deletionlog.primaryid AND deletionlog.type = 'thread')
LEFT JOIN subscribethread AS subscribethread ON(subscribethread.threadid = thread.threadid AND subscribethread.userid = 1 AND canview = 1)
LEFT JOIN post AS post ON(post.postid = thread.firstpostid)
LEFT JOIN threadredirect AS threadredirect ON(thread.open = 10 AND thread.threadid = threadredirect.threadid)
WHERE thread.threadid IN (0,2725,2303,2287)
ORDER BY sticky DESC, lastpost DESC;
MySQL Error : Table './ba7r1_vb/post' is marked as crashed and should be repaired
Error Number : 145
Request Date : Tuesday, December 27th 2011 @ 03:47:28 PM
Error Date : Tuesday, December 27th 2011 @ 03:47:28 PM
Script : http://www.ba7r1.com/vb/forumdisplay.php?f=95
Referrer : http://www.ba7r1.com/vb/index.php
IP Address : 41.178.215.191
Username : TaNTaWy
Classname : vB_Database
MySQL Version : 5.1.56
وطبعا استغربت وبقيت مش عارف افكر ازي دا حصل وايه هي الرساله الي طلعت
بعدها بعد طبعا لما عرفت ان العيب دا منتشر علي جميع المنتديات وبيحصل مفاجأ عند اكثر اصحاب المنتديات فا حبيت اني انقل المعرفه للناس عشان محدش يقع في الحيره الي انا كنت فيها
حل مشكلة Error Number : 145
هذه المشكله اصبحت شائعه لدى الجميع وبدون اي سبب
وهي خطاء في جميع الاقسام والمواضيع
حل المشكله هي : كاتالي
1- عمل اصلاح لقاعدة البيانات
وهذا هو الشرح على الرابط التالي
طريقة اصلاح خلل جداول المنتدى من لوحة تحكم الموقع Cpanel
شرح طريقة اصلاح خلل جداول المنتدى من لوحة تحكم الموقع Cpanel
عندما يكون هناك خلل في جداول المنتدى يمكنك اصلاح ذلك الخلل من لوحة تحكم الموقع السي بنل Cpanel عندما لا تستطيع الدخول إلى لوحة تحكم المنتدى او عندما تفشل عملية اصلاح الجدول من سي بنل المنتدى .. إليكم شرح تفصيلي مصور
بسم الله نبدأ
تفتح لوحة تحكم الموقع ثم تتجه إلى phpMyAdmin
صورة
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 760 * 411.
.
الخطوة الثالثة / الآن بعد فتح phpMyAdmin توجه للسهم ، وتختار قاعدة بيانات المنتدى حسب الإسم الذي أنشئت عليه ، مو شرط تكون vb يعني ممكن أسميها أي إسم تقدر تتأكد من ملف config في مجلد includes تبحث عن :
كود:
$config['Database']['dbname'] = 'domine_XXX';
domine = اسم المستخدم للسي بنل.
XXX = إسم القاعدة .
وهنا في تطبيقنا على تكون قاعدة البيانات على إسم vb وتلاحظون في أكثر من قاعدة للمنتدى وبأسماء مختلفة ، شاهدة الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 774 * 400.
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 728 * 90.
الخطوة الرابعة / بعد إختيار القاعدة تلاحظ الجداول ظهرت الآن، شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 768 * 436.
.
الخطوة الخامسة / الآن بعد ظهور الجداول إنزل تحت لرؤية جميع الجداول وتلاحظ نوع أغلب الجداول " MyISAM " وهذا يعني أن الجداول سليمة و لاتعاني من أي مشكلة ، ولكن وجدنا جدول من النوع " HEAP " إذا هذا الجدول يحتاج إلى إصلاح ، نقوم بالدخول على خصائص الجدول عن طريق إحدى الإيقونتين الموضحة بالصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 678 * 424.
.
الخطوة السادسة / بعد الضغط على أحد الإيقونتين فتحت لنا خصائص الجدول وطرق التحكم فيه ، نقوم بالضغط على إيقونة " عمليات " أو بالإنقلش راح تكون operations ، شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 586 * 369.
.
الخطوة السابعة / بعد الضغط على عمليات تنزل تحت شوي ، تلقى طلع لنا خيار " storage engine " تلاحظ النوع " HAPE " تقوم بفتح السهم بتطلع لك خيارات تختار الخيار " MyISAM " بعدها إضغط تنفيذ أو ok حسب ماهو موجود عندك باللوحة ، شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 584 * 412.
.
الخطوة الثامنة / بعد الضغط على تنفيذ ، تلاحظ طلع رسالة باللون الأصفر يقولك تم إستعلام SQL بنجاح ، شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 587 * 331.
.
الخطوة التاسعة / الآن نرجع للجداول نلاحظ نوع الجدول تغير وأصبح " MyISAM " مثل بقية الجداول ، شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 727 * 317.
.
ملاحظة / أي جدول تلقى نوعه " HEAP " تروح تعدله حتى تصير جميع الجداول 'MyISAM '
الخطوة العاشرة / بكذا نكون أصلحنا الجدول ولكن لزيادة التأكد ، تنزل تحت في أسفل الجداول بتلقى كلمة إختر الكل أو select ALL تضغط عليها لتحديد جميع الجداول ، من قائمة بجانبها على اليسار إختار " إصلاح الجداول " أو بالانقلش تكون " repier Tables " تلاحظ راح يعملك إصلاح للجداول ، ثم تكرر نفس الخطوة تحدد الكل وتختار ضغط الجداول أو تحسين الجداول بالإنقلش تكون " Optimize Tables " شاهد الصورة :
.
تم تصغير هذه الصورة. إضغط هنا لرؤية الصورة كاملة. الحجم الأصلي للصورة هو 614 * 417.
.
بعد عمل الإصلاح أو repier Tables راح تظهر لك رسالة تلاحظ جميع الجداول OK
.
.
بعد عمل التحسين أو Optimize Tables راح تطلع رسالة تلاحظ جميع الجداول OK
.
تعديل :
بخصوص جداول ( session ، cpsession )
من الأفضل الإبقاء عليها في حالة HAPE لأن مثل هذا النوع من الاستعلامات تحتاج للتعديل بشكل مستمر ومن الأفضل وضعها بالميموري بدلا من الملفات وذلك لسرعة التعديل والحذف المستمر بدلا من انتظار التنفيذ عن طريق الملفات في ال mysql ، لتنفيذ الأوامر بسرعه .. وبقية الجداول في حالة MYISAM ، وتطبيقي كان على أحد الجدولين لأن القاعدة المطبق عليها الشرح لم يكن بها جدول في حالة HAPE
2- ازرع امر بالقاعدة البيانات وهذا الامر سهل جدا ً
ازرع الأمر التالي في قاعدة البيانات
كود PHP:
repair table postparsed;
شرح بالصور لطريقة زرع امر فى قاعدة البيانات
السى بانل حق الموقع الخاص بنا. من هذا الرابط
www.*****.com/cpanel
طبعا الـ ***** رابط موقعك
بعد الدخول نتبع الاتى
نضغط على mysql كما بالصورة.
ثم فى اخر الصفحة سنجد كلمة php my admin نضغط عليها للدخول الى قواعد البيانات.
ملحوظة: هذا الشرح خاص بالسى بانل اكس . اما السى بانل اكس ثرى . ستجد ايكونة php my admin. موجودة بالواجهة الرئيسية بالسى بانل.
ثم نتابع
طبعا فى حالة وجود منتدى فقط بالموقع . سيكون الامر سهلا. حيث لن تجد الا قاعدة بيانات واحدة فقط . اما فى هذه الصورة . يلاحظ وجود اكثر من سكريبت على الموقع. اى انه امامنا اكثر من قاعدة بيانات.. فكيف نعرف اى من هذه القواعد خاص بالمنتدى المراد تنفيذ الامر على قاعدة بيناته؟
الامر سهل . سنتجه الى ملف الكونفيج الخاص بالمنتدى. و منه سنرى اسم القاعدة الخاصة بالمنتدى.
سنضغط على اسم قاعدة البيانات الخاصة بالمنتدى كما يشير السهم بالصورة العلوية.
ستظهر الصورة السابقة . نضغط على SQL
سيظهر لنا هذا الصندوق. نقوم بلصق الامر المراد زراعته داخل الصندوق و نضغط go بكل بساطة.
انتهى.
اتمنى الفائدة للجميع
وهذه المشكله صراحتا ً واجهت الجميع
لكم كل الود والتقدير
مع رد بشكر للأعداد الي عملته