المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [شرح] اصلاح اخطاء قواعد البيانات خطوه خطوه بالصور


d3mawy4host
01-04-2011, 05:23 صباحاً
السلامـ عليكمـ ورحمه الله وبركاته

الاخوه والاخوات اعضاء المرسى الكرام

اليوم نقدم لكمـ شرح كامل والكمال لله وحده عن اصلاح جميع اخطاء قواعد البيانات

ملحوظه :

الشرح منقول من منتديات الدعم الفنى
للامانه




الان لقدم قمت بالدخول لاسمح الله الى منتداك او منتدى احد الاصداقاء ووجدت صفحه المنتدى بهذا الشكل

http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/11.jpg


الان جميع الزوار والاعضاء تظهر لهم نفس الصوره اي ان المنتدى لا يعمل

اذا مالمشكله ؟؟

المشكله في قاعدة بيانات المنتدى اي هناك خلل ما

الان اتفقنا في حال وجود مثل الصوره المرفقه في الاعلى ان هناك خلل في قاعده البيانات
اي بالضبط عند وجود كلمه databace error = خطأ في قاعدة البيانات

مالعمل الان ؟؟

في الغالب نذهب بالاتصال الى الدعم الفني ولكن بما انك دعم فني منتداك فماذا تفعل

مباشرة اذهب الى اعلى الصفحه واضغط على page ثم view source باللغه الانجليزية

او عرض ثم المصدر باللغه العربية

او كلك بالماوس يمين في اي مكان في الصفحه ثم view source

كلهم نفس الشي

كما بالصورة التاليه

http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/eroor.jpg

هذه هي اهم خطوة كما ترون لاننا بهذه الخطوة سوف نعرف رقم الخطأ

طبعا بعد الضغط على( عرض المصدر = view source ) سوف يفتح لدينا مستند نصي به اكواد انجليزية كثيره

كما بالصورة التاليه

http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/hg.jpg


ما يهمنا في هذا الكود الطويل الا لما تشوفه ماتفهم شي هو الكلمه المحدده بالاحمر مع الرقم
وهي كلمه Error Number اي معناها رقم الخطأ

وايضا يهمنا مكان الخطأ ايضا اي السطر الا فوق المحدد بالاحمر الا هو MySQL Error

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

الان بعد ان عرفنا رقم الخطأ ومكان الخطأ ماذا سنعمل وكيف احل المشكله


الان كما ترى رقم الخطأ 145 ومكان الخطأ في جدول post
كما هو موضح في السطر الذي فوق Error Number

حل هذه المشكله بسيط جدا وهو
خول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg

ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg

ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg
ثم قم باختيار الجدول المطلوب وهو post
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/444.jpg
قم بتحديده واختر اصلاح او repair في نهايه الصفحه
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/555.jpg

وبكذا انتهت المشكله وتم حلها




هناكـ مشكلتين اخرى في قاعده البيانات وحلها ان شاء الله






المشكله الاولى





ظهور الخطأ التالي





mysql error: Got error 28 from table handler





mysql error number: 1030






حل الخطأ هو عمل اصلاح لجميع جداول قاعده البيانات





الحل مشابه لحل المشكله في الدرس السابق وهذه خطواته





دخول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg





ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg





ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg
ثم قم باختيار جميع الجداول عن طريق check all ( تحديد لكل الجداول )
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/444.jpg
قم بتحديدهم واختر اصلاح او repair في نهايه الصفحه
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/555.jpg





ثانيا الضغط على الخيار ثانياً : إضغط على الخيار Optmize table






وبكذا انتهى حل المشكله الاولى





المشكله الثانيه

ظهور الخطأ التالي :

MySQL Error : Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (latin1_general_ci,IMPLICIT) for operation
Error Number : 1267



الحل تغيير ترتيب collations الحقول داخل الجدول من latin1_general_ci إلى latin1_swedish_ci

شرح مصور

اولا الدخول الى لوحة تحكم السي بانل

ثم
http://www.d3m-fny.com/mared/111.jpg

ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg

ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg

ثم الضغط على ايقونه بناء
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/1d.jpg


ثم تحديد الحقول
ثم الضغط على صورة القلم ( تغيير )
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/2d.jpg


ثم قم بتغيير collations الحقول داخل الجدول من latin1_general_ci إلى latin1_swedish_ci
http://www.d3m-fny.com/mared/3d.jpg



هناكـ ايضا مشكله من مشاكل قواعد البيانات



ظهول المشكله التاليه

MySQL Error : The table 'session' is full
Error Number : 1114

المقصود في الخطأ هو امتلاء جدول السيزون

الحل سهل جدا تابع الخطوات

دخول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg

ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg

ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg
ثم قم باختيار الجدول المطلوب وهو session
ثم علامه صح عليه
ثم اختر على الايقونه التاليه ( افراغ محتوى ) وليس حذف
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/3f.jpg

وهكذا تنتهي المشكله بكل بساطه ويعمل المنتدى من جديد





فى هذا الجزء من الشرح سنقوم بتعلم

كيفيه تنفيذ امر على قاعده البيانات

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

فهذه هى طريقه زرع امر فى قاعده البيانات





تنفيذ امر على قاعده البيانات




دخول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg

ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg

ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg

ثم اختيار SQL كما بالصورة
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp2.jpg

بعد ذلك ستظهر لك مربع نصي تستطيع الكتابه داخله كما بالصورة

http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp3.jpg

في هذا المربع نضع الامر المطلوب ومن ثم الضغط على كلمه Go

وهذه هي طريقه تنفيذ الاوامر على قاعده البيانات





مثال على المشاكل التى يكون حلها بزرع امر فى قاعده البيانات





الخطأ

Database error in vBulletin 3.7.3:

Invalid SQL:

UPDATE user

SET friendreqcount = friendreqcount + 1
WHERE userid = 20556;

MySQL Error : Unknown column 'friendreqcount' in 'field list'
Error Number : 1054


طبعا الخطأ واضح جدول user به حقل مفقود واسم هذا الحقل friendreqcount

لو بنحل المشكله يدوي ونخرج الامر من القاعده راح يكون الامر صعب خاصه للمبتدئين

اما الحل سهل جدا وهو زراعه امر في قاعده البيانات وتنتهي المشكله

ونرجع لدرسنا السابق لكيفيه زراعه القاعده








اولا نتبع الخطوات المعتاده




دخول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg




ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg




ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg




ثم اختيار SQL كما بالصورة
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp2.jpg




بعد ذلك ستظهر لك مربع نصي تستطيع الكتابه داخله كما بالصورة




http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp3.jpg




في هذا المربع نضع الامر المطلوب ومن ثم الضغط على كلمه Go




وهذه هي طريقه تنفيذ الاوامر على قاعده البيانات

لكن في الخطوة الاخيره نضع هذا الامر في المربع


ALTER TABLE `user` ADD `friendreqcount` int(10) unsigned NOT NULL default '0';




ثم نضغط Go

وتم حل المشكله بفضل الله




مشكله اخرى



المشكله هي


Database error in vBulletin 3.7.2:

Invalid SQL:

SELECT COUNT(*) AS count
FROM moderation AS moderation
INNER JOIN post AS post ON (post.postid = moderation.primaryid)
WHERE moderation.type = 'reply';

MySQL Error : Table *********.moderation' doesn't exist
Error Number : 1146


حل المشكله فقط تنفيذ امر في قاعده البيانات وتنهي المشكله

نرجع للدرس الخامس لكيفيه تنفيذ الامر








اولا نتبع الخطوات المعتاده




دخول الى لوحة تحكم الموقع = cpanel
ثم الضغط على ايقونه
http://www.d3m-fny.com/mared/111.jpg




ثم الدخول phpmy admin ستجدها في نهايه الصفحه
http://www.d3m-fny.com/mared/222.jpg




ثم قم باختيار قاعده بيانات المنتدى كما بالصورة
http://www.d3m-fny.com/mared/333.jpg




ثم اختيار SQL كما بالصورة
http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة. http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp2.jpg




بعد ذلك ستظهر لك مربع نصي تستطيع الكتابه داخله كما بالصورة




http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة. http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/vb/images/statusicon/wol_error.gifاضغط هنا لمشاهدة الصورة كاملة.http://www.d3m-fny.com/mared/pp3.jpg




في هذا المربع نضع الامر المطلوب ومن ثم الضغط على كلمه Go




وهذه هي طريقه تنفيذ الاوامر على قاعده البيانات الخطوة الاخيره نضع هذا الامر


CREATE TABLE `moderation` (
`primaryid` int(10) unsigned NOT NULL default '0',
`type` enum('thread','reply','visitormessage','groupmessa ge') NOT NULL default 'thread',
`dateline` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`primaryid`,`type`),
KEY `type` (`type`,`dateline`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;




انتهى

مره اخرى

الشرح منقول من منتديات الدعم الفنى التعليمى
جزاهم الله عنا خير الجزاء

تم نقل الشرح وتنسيقه بواسطه

d3mawy4host

وبالتوفيق للجميع باذن الله تعالى

خ ــادم الإسلام
03-04-2011, 06:59 صباحاً
بارك الله فيك يبو حميد

شباب كافيه
03-04-2011, 10:29 صباحاً
مشكور يالغلا

d3mawy4host
10-04-2011, 05:22 صباحاً
بارك الله فيك يبو حميد


استاذى الغالى ابو حنين
مشكور للمرور العطر
وجازانا الله واياكـ

مشكور يالغلا

الشكر لله اخوى

وان شاء الله نقدم كل ما هو مفيد

انرتو صفحتى وجزاكمـ الله خيرا للمرور الطيب

d3mawy

وفاء نادر
07-05-2011, 12:14 مساءً
d3mawy4host (http://www.mrsavb.com/vb/member.php?u=8893)
ماشاء الله مبدع
شرح رائع يسلموووو

d3mawy4host
07-05-2011, 02:01 مساءً
وفاء نادر (http://www.mrsavb.com/vb/member.php?u=8588)

مشكورة للمرور الرائع

انرتى صفحتى

d3mawy

نورالدين N
30-10-2011, 02:24 صباحاً
الــف الـــف شــكــر أخــي

الفيروس
30-10-2011, 06:24 صباحاً
وفقك الله تعالى
مشكور جدا لك يا الغالى
وبالتوفيق

iqr33
23-11-2011, 12:07 مساءً
مشكور اخي وبارك الله فيك درس قيم ومفيد بصراحة استفدت منه الكثير