النتائج 1 إلى 15 من 15

الموضوع: أول حل عملي وليس يدوي لمشكلة تلف جدول thread بسبب MySQL4 :)

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    50

    أول حل عملي وليس يدوي لمشكلة تلف جدول thread بسبب MySQL4 :)



    أخواني الكرام،

    لعلكم لاحظتم منذ فترة زيادة الأخطاء التي تحدث في المنتدى وخاصة جدول thread من فترة لأخرى وقد تتكرر المشكلة في اليوم الواحد عدة مرات وليس من المعقول ان يبقى صاحب المنتدى اونلاين 24 ساعة في اليوم ليراقب منتداه ثم يذهب الى phpMyAdmin لحل المشكلة يدويا!

    من أروع خصائص لوحة التحكم Cpanel هي خاصية Cron Jobs (لا اعلم صراحة هل تلك الخاصية متوفرة في لوحات التحكم الأخرى أم لا) ، التي تتيج لك ان يقوم السيرفر بتشغيل أمر أو ملف دوريا بعد مرور زمن معين، مثلا تقوم بتشغيل ملف معين أوتوماتيكيا كل 3 ساعات.

    ففكرت لماذا لا استغل تلك الخاصية الرائعة وخبرتي المتواضعة جدا في لغة php لكي أقوم بعمل ملف يقوم اوتوماتيكيا باصلاح الجدول كل زمن محدد. على العلم أن اصلاح الجدول اوتوماتيكيا لا يسبب اي مشكلة -حتى لو كان الجدول سليم ولا يحتاج الى اصلاح-.

    واللآن، بعد المقدمة المملة P: اليكم الطريقة:

    1- قم بتحميل ملف fix.zip من المرفقات.
    2- قم بفك ضغطه، ستجد ملف اسمه fix.php ارفعه الى مجلد منتداك الرئيسي.
    3- قم بالدخول الى لوحة تحكم موقعك http://www.yourdomian.com/cpanel
    4- قم باختيار أيقونة Cron Jobs
    5- اذا كان اصدار لوحة التحكم لديك هو 5 فانتقل الى الخطوة رقم 7
    6- قم باختيار Advanced (Unix Style)
    7- قم بنقل السطر التالي في الخانات بالترتيب

    كود PHP:
    0  */3  *  *  *  curl http://mydomain.com/vb/fix.php 
    لاحظ انك تستبدل mydomain.com/vb بعنوان منتداك

    8- انقر Commit Changes

    والآن تمتع بنوم هادئ عميق دون الخوف على منتداك من التوقف، ولكن استيقظ من فترة لأخرى لمتابعة المشرفين P:

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





    الملفات المرفقة الملفات المرفقة
    __________________
    I Love PHP, Do you?
    tantawi غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    43


    وفقك الله ومشكور على هذة الطريقة





    alshala غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    47


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

    فيوجد حل عملي أكثر من هذا ... حل يزيل المشكلة تماما عند وقوعها مباشرة.

    في منتدى vb إليك الطريقة>>

    حرر الملف db_mysql.php في مجلد admin

    إبحث عن السطر
    كود PHP:
    if ($this->reporterror==1) { 
    و ضع بعده هذا السطر
    كود PHP:
    if($this->errno=="1016"mysql_query("REPAIR TABLE `thread`;",$this->link_id); 
    إنتهى الأمر
    و سوف تنسى هذه المشكلة من اليوم بإذن الله .......... الطريقة مجربة 100% ناجحة .





    __________________
    إكساء هوست
    http://www.exahost.com.sa

    عندما تريد نريد "أكبر"
    ExaHost غير متواجد حالياً

  4. #4


    ما شاء الله ،،،
    وفقكم المولى عزوجل يا كريم ،،،

    حقا طريقة رائعة لحل مشاكل العالقة بالإصدار الأخير لقاعدة بيانات المنتدى ،،،
    بارك الله فيكم ،،،





    أبوعلي1981 غير متواجد حالياً

  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    50


    جزاكم الله خيرا على التفاعل...

    طريقتك ممتازة اخي الكريم DrDoook اعتقد انها اسهل وانجح من طريقتي جزاك الله خيرا مرة أخرى.





    __________________
    I Love PHP, Do you?
    tantawi غير متواجد حالياً

  6. #6
    عضو فعال
    تاريخ التسجيل
    Apr 2001
    المشاركات
    1,613


    طيب أنا الخطأ اللي يصير معاي بالSESSION ..

    ومرات بالuser or thread or forum

    أيش رقم الخطأ ؟؟

    عشان أعدله





    __________________
    منشور نت .. الصورة بالألوان الكاملة
    لطلب الإعلان: webmaster[at]manshor.net
    : 00218913170099
    SilverBoy غير متواجد حالياً

  7. #7


    عزيزي الغالي SilverBoy ،،،
    السلام عليكم ورحمة الله وبركاته ،،،

    عزيزي الغالي ،،،،
    الحل بسيط عزيزي ،،،، فقط عليك كتابة رقم Error الخاصة بجدول session و user و forum حال وقوع أي من المشاكل في الجداول السابقة ،،،
    ورقم الخطأ ستجده هكذا مكتوبا :
    MySql Error ..... : وهنا الرقم

    ولحل مشكلة فقط عليك عمل الكود كالسابق ووضعه في نفس الملف وأسفل كود تعديل جدول thread

    لنفرض مثلا جدول session هكذا يكتب ،،،

    كود PHP:
    if($this->errno=="هنا رقم الخطأ"mysql_query("REPAIR
    TABLE `وهنا إسم الجدول session`;"
    ,$this->link_id); 
    وفقكم المولى عزوجل ،،،





    أبوعلي1981 غير متواجد حالياً

  8. #8
    عضو فعال
    تاريخ التسجيل
    Apr 2001
    المشاركات
    1,613


    شكراً أبو علي ..

    أنا كنت طامع أنه شخص يعطيني الأرقام تبع الأخطاء

    لأني عارف كيف أسوي بعدين ..

    عموماً مشكور جداً يا غالي





    __________________
    منشور نت .. الصورة بالألوان الكاملة
    لطلب الإعلان: webmaster[at]manshor.net
    : 00218913170099
    SilverBoy غير متواجد حالياً

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Apr 2002
    المشاركات
    177


    بارك الله بكم

    الرجاء من الادارة بان يكون هذا الدرس في

    قسم المواضيع المميزة و الدروس

    وشكرا لكم





    kii75sy غير متواجد حالياً

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Dec 2001
    المشاركات
    92


    طيب ياجماعة الخير ... والي منتداه IB ....

    وش الحل معه ..؟





    Mr_muhammed غير متواجد حالياً

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    643


    لنفرض مثلا جدول session هكذا يكتب ،،،

    كود PHP:
    if($this->errno=="هنا رقم الخطأ"mysql_query("REPAIR
    TABLE `وهنا إسم الجدول session`;"
    ,$this->link_id); 
    وفقكم المولى عزوجل ،،، [/B]
    شكرا للجميع .. وارجو توضيح للتالي

    في حال تكرار العطل من بعض الملفات هل يتم كتابه ارقام الخطاء
    بنظام الفاصله بينهم بمعنى مثلا نقول :
    1016, 1003, 1210 <<< كذا يعني ؟

    ارجو التوضيح





    jaralqamr غير متواجد حالياً

  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    643


    up





    jaralqamr غير متواجد حالياً

  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    650


    أخوي جار القمر إنشالله توصل الفكرة بالطريقة هذي

    كود:
    if($this->errno=="1016") mysql_query("REPAIR
    TABLE `thread`;",$this->link_id);
    تكتب الكود السابق لحل مشكلة الثيرد

    وإذا كانت لديك أي مشكلة في أي جدول تتكرر باستمرار كمشكلة الثيرد ماعليك إلا أن تضيف نفس الكود السابق ولكن تغير اسم الجدول الذي به المشكلة ورقم الخطأ الذي يظهر عند ظهور المشكلة

    مثال المشكلة الثانية في جدول session ورقم الخطأ الذي يظهر مع المشكلة هو 1609

    تكتب بالشكل التالي :

    كود:
    if($this->errno=="1016") mysql_query("REPAIR
    TABLE `thread`;",$this->link_id);
    وأسفله مباشرة هذاالكود الخاص بمشكلة جدول session
    if($this->errno=="1609") mysql_query("REPAIR
    TABLE `session`;",$this->link_id);
    تصبح بالشكل التالي :

    كود:
    if($this->errno=="1016") mysql_query("REPAIR
    TABLE `thread`;",$this->link_id);
    if($this->errno=="1609") mysql_query("REPAIR
    TABLE `session`;",$this->link_id);
    أرجو أن تكون المعلومة قد اتضحت

    تحياتيـ..





    B2S غير متواجد حالياً

  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2003
    المشاركات
    643


    وضحت والف شكر لك عزيزي





    jaralqamr غير متواجد حالياً

  15. #15
    عضو نشيط
    تاريخ التسجيل
    Jun 2002
    المشاركات
    145


    بارك الله فيكم
    أنا علي العموم جربتها
    ولو حصلت أي مشكله هاجي أموتكم ههههههههههههههههه
    تحياتي لكم جميعا





    __________________
    egyptsons.com
    الحمدلله
    AsDh4 غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض