استخدام أداة mysqlcheck لإصلاح, تحسين وتحليل قواعد البيانات

MySQL

MySQL

مرحبا, عند محاولة اصلاح قاعدة او تنفيذ عملية Myismcheck من خلال سطر الأوامر يتطلب منا أن نقوم بإيقاف خادم MySQL عن العمل حتى نستطيع تنفيذ مانريد في القواعد. ولكن هذا الأمر يعتبر شيء مزعج خصوصاً اذا كان الخادم مخصص لإستضافة المواقع بالتالي سوف تتوقف جميع قواعد البيانات الخاصة بالعملاء من اجل قاعدة واحد فقط!. لهذا في بعض الأحيان نستخدم مثلاً PHPMyAdmin وغيرها من الأدوات. في هذه التدوينة سوف استعرض طريقة تنفيذ العمليات هذه من خلال اداة mysqlcheck والتي تغنينا عن ايقاف الخادم والتعقيدات الاخرى, وهي اداة سهلة الإستخدام جداً.

للتطبيق تحتاج:

  1. قاعدة بيانات مركبة وتعمل
  2. صلاحيات root
  3. تسجيل دخول إلى ssh, terminal


الأن لنفرض أن لدينا قاعدة بيانات بالأسم mustafa_mydb علماً أن mustafa هو المستخدم و mydb هو أسم القاعدة.

ونريد أن نقوم بعمل MyISMCheck يكون الامر

user@computer:$ mysqlcheck mustafa_mydb

أو

user@computer:$ mysqlcheck -c mustafa_mydb

دعونا نحلل الأمر السابق
1. mysqlcheck = هذه اسم الأداة, وهنا اخبرت النظام أني أريد استخدام هذه الأداة
2. -c = وهنا اخبرت الأداة أني أريد استخدام خاصية MyISMCheck
3. mustafa_mydb = هنا اخبرت الأداة أني أريد تنفيذ عملية MyISMCheck للقاعدة هذه.

أصلاح Repair للقاعدة. نقوم بتنفيذ الأمر التالي

user@computer:$ mysqlcheck -r mustafa_mydb

تحسين optimize للقاعدة. سوف يكون الامر بالشكل التالي

user@computer:$ mysqlcheck -o mustafa_mydb

تحليل analyze يتم بالشكل التالي

user@computer:$ mysqlcheck -a mustafa_mydb

وفي حالة كنا نريد أن نقوم بجميع ماسبق مرة واحدة يكون الأمر كتالي

user@computer:$ mysqlcheck -aro mustafa_mydb

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

user@computer:$ mysqlcheck -aro --all-databases

ماذا عن جدول معين بداخل قاعدة معينة ؟ نحتاجها بعض الاحيان خصوصاً في القواعد الكبيرة والتي تتجاوز 2 جيجابايت. فليس من المعقول وعلى سبيل المثال أن نقوم بعمل اصلاح لقاعدة كاملة تتجاوز 2 جيجابايت من اجل جدول واحد قد لايتجاوز حجمة 50 ميجابايت. أذن نستخدم الطريقة التالية
لنفرض أن الجدول المعني هو albazy أذن

user@computer:$ mysqlcheck -r mustafa_mydb albazy

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

user@computer:$ mysqlcheck -r --databases mustafa_mydb1 mustafa_mydb2

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

user@computer:$ /usr/bin/mysqlcheck [-OPTIONS] [DATABASE]

ملاحظة: في حالة قمت بتشغيل الأداة بدون وضع اي خيارات, اي قمت بوضع اسم القاعدة مباشرة وقمت بتنفيذ الامر. في هذه الحالة سوف يكون الخيار الأفتراضي للأداة هو MyISMCheck

تحياتي, مصطفى البازي.

مشاركة المحتوى
  • Digg
  • del.icio.us
  • Print
  • Technorati
  • Identi.ca
  • email
  • PDF
  • Add to favorites
  • Tumblr
هذه التدوينة كُتبت ضمن التصنيف Databases. الأوسمة: , , , , . أضف الرابط الدائم إلى المفضّلة.

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*

يمكنك استخدام أكواد HTML والخصائص التالية: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre user="" computer="" escaped="">

8 تعليقات على: استخدام أداة mysqlcheck لإصلاح, تحسين وتحليل قواعد البيانات

  1. بارك الله فيك أستاذي العزيز مصطفى

    فعلا الأداة رائعة بكل ما تعنيه الكلمة
    و ممتازة في تسهيل الأمور
    و حتىالشرح ممتاز

    شمرا جزيلا لك

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  2. Mohd كتب:

    اداة اكثر من رائعة
    بصراحة اول مرة اسمع عنها

    يعطيك العافية

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  3. Hit-Man كتب:

    السلام عليكم
    بارك الله فيك أخي
    ممكن أخي توضحلي قليلا مادا تعني “عملية Myismcheck”
    و شكرا لك أخي
    Hit-Man

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  4. @Hit-Man
    اهلاً بك,
    في هذا الرابط
    http://dev.mysql.com/doc/refman/5.0/en/myisamchk.html
    تجد كل ماتريدة عن Myisamchk او Myismcheck

    وبشكل سريع هي تعمل على فحص الجداول من اي مشاكل. وان كان هناك اي مشاكل تخبرك بها.

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  5. KING SABRI كتب:

    تم تجربة كل ما سبق الأن يا صديقي

    سلمت يداك

    تحياتي و احترامي

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  6. KING SABRI كتب:

    للإستزاده

    هذه صفحة الـ Manual للأمر mysqlcheck
    http://man.he.net/man1/mysqlcheck

    لكنك شرحت الخلاصة

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  7. غلا كتب:

    تحياتي لك شرح جميل وبسيط وسهل

    هل أعجبك التعليق: Thumb up 0 Thumb down 0

  8. ahmad كتب:

    شكراً طريقة جميلة
    mysqlcheck -aro –all-databases

    وجب عندي إستعمال إسم الأدمين ال plesk وليس ال root

    mysqlcheck -u admin -p -aro –all-databases

    هل أعجبك التعليق: Thumb up 0 Thumb down 0