هر دیتابیس ممکن است به دلایلی دچار مشکلاتی شود، در این صورت با خطاهای مختلفی در بخشهای مختلف وبسایت مواجه خواهیم شد که یکی از دلیل اصلی آن crash کردن جدول یا دیتابیس باشد که با Repair کردن دیتابیس Mysql یا Repair کردن جدول مشکل برطرف میشود. در ادامه چند راهکار برای Repair کردن دیتابیس در Mysql شرح میدهیم:
راهکار اول، با استفاده از phpMyAdmin
این راه اشکالات جزئی و شناخته شده را یافته و بصورت اتوماتیک اقدام به رفع مشکل میکند. در ابتدا phpMyAdmin را باز نموده و دیتابیس مورد نظر را از منو سمت چپ انتخاب میکنیم.
پس از انتخاب دیتابیس موردنظر، لیست جداول در سمت راست صفحه نمایش میشود.
مطابق با تصویر زیر برخی از جداول، در وضعیت in use قرار دارند که اصطلاحاً به آن Crash کردن جدول گفته میشود.
در این حالت، میبایست جداول crash کرده را با فعّال کردن Check box کنار آنها، انتخاب کنید. (در صورتی که بخواهید کل دیتابیس را Repair کنید، در پایین صفحه PHP My Admin گزینه Check All را انتخاب کنید) و سپس در پایین صفحه PHPMyAdmin دکمه کشویی With Selected را باز کنید.
و گزینه Repair table را انتخاب کنید.
پس از انتخاب Repair table، فرایند Repair کردن جدول در دیتابیس شروع به کار می کند. منتظر بمانید تا پیام Successful را مشاهده کنید.
راهکار دوم، با استفاده از Command Line لینوکس
هنگامی که یک جدول در دیتابیس Crash کرده باشد، هنگام بکاپ گیری از طریق Command line با خطای مانند تصویر زیر مواجه شویم.
mysqldump: Error 1194: Table ‘wp_hmwp_blocked_ips’ is marked as crashed and should be repaired when dumping table `wp_hmwp_blocked_ips` at row: 52393
به جهت repair کردن دیتابیس ابتدا کامند های زیر را در سرور اجرا میکنیم:
mysql -u da_admin -p
پس از اجرای کامند فوق، از شما پسورد یوزر da_admin خواسته میشود، پس از درج پسورد و اینتر، خط فرمان بصورت زیر تغییر میکند.
MariaDB [(none)]>
کامند زیر را جهت آماده سازی و انتخاب دیتابیس وارد کنید.
use dbname
و سپس کامند زیر را جهت مشاهده جداول موجود در دیتابیس اجرا نمایید.
show tables;
در تصویر فوق، جدول crash کرده مشهود میباشد، به جهت repair کردن جدول فوق، دو کامند زیر را اجرا نمایید.
ابتدا برای چک کردن خطاها کامند زیر
check table TableName;
سپس برای repair کردن جدول کامند زیر
repair table TableName;
را اجرا کنید
مانند تصویر فوق پس از repair پیغام موفقیت آمیز بودن را مشاهده خواهید نمود.