learn

رفع خطای دیتابیس؛ تشخیص جدول خراب و محدودیت Repair

Repair درمان همهٔ خطاهای دیتابیس نیست. پیش از تعمیر، نوع موتور، نام جدول، نسخهٔ پشتیبان و پیام واقعی نتیجه را بررسی کنید.

رفع خطای دیتابیس با تشخیص پیام خطا شروع می‌شود، نه با تعمیر همهٔ جدول‌ها. پیام Table is marked as crashed and should be repaired با خطای اتصال یا رمز اشتباه فرق دارد. ابزار Repair فقط برای موتورهای پشتیبانی‌شده کاربرد دارد و موفقیت آن را نباید از رنگ پیام کلی صفحه نتیجه گرفت.

پیش از رفع خطای دیتابیس چه چیزهایی را ثبت کنیم؟

زمان رخداد، متن خطا و نام جدول را در گزارش خصوصی بنویسید. شناسهٔ نشست، رمز و اطلاعات کاربران را در دیدگاه عمومی نگذارید. اگر پیام Access denied یا Unknown database است، ابتدا اطلاعات اتصال و مجوز را بررسی کنید؛ تعمیر جدول، نام کاربر یا رمز اشتباه را درست نمی‌کند.

بکاپ و تشخیص موتور جدول

از وضعیت موجود نسخهٔ محافظت‌شده بگیرید و یک بکاپ سالم قبلی را نیز نگه دارید. اگر خروجی‌گرفتن شکست می‌خورد، فایل ناقص را جای نسخهٔ سالم نگذارید. نوع جدول را در ستون Engine یا Type بخش Structure در phpMyAdmin ببینید. برای دادهٔ مهم یا خرابی گسترده، پیش از تغییر از مدیر دیتابیس کمک بگیرید.

تعمیر در cPanel

  1. در پنل، Manage My Databases را باز کنید؛ نام قدیمی آن MySQL Databases است.
  2. در Modify Databases، پایگاه درست را برای Check Database انتخاب کنید.
  3. نام جدول معیوب و گزارش بررسی را بخوانید.
  4. اگر موتور و وضعیت داده اجازهٔ تعمیر می‌دهد، همان پایگاه را در Repair Database انتخاب کنید.
  5. نتیجهٔ هر جدول را کنترل کنید؛ در صورت شکست، عملیات را بی‌هدف تکرار نکنید.

این ابزار تلاش برای تعمیر است، نه تضمین بازیابی تمام داده‌ها. راهنمای رسمی cPanel مسیر بررسی و تعمیر را جدا توضیح می‌دهد.

ورود به phpMyAdmin برای بررسی نوع جدول و رفع خطای دیتابیس
نمونهٔ رابط قدیمی؛ نام و جای دکمه‌ها در نسخهٔ فعلی ممکن است متفاوت باشد. راهنمای بازبینی‌شدهٔ متن را مبنا قرار دهید.

Repair table در phpMyAdmin

دیتابیس و سپس جدول آسیب‌دیدهٔ سازگار را انتخاب کنید و از فهرست عملیات، Repair table را اجرا کنید. انتخاب Check all برای تمام جدول‌های سالم و معیوب ضرورت ندارد. ستون‌های Msg_type و Msg_text را بخوانید. پیام پشتیبانی‌نشدن موتور، تأیید تعمیر نیست؛ حتی اگر بالای صفحه اجرای درخواست موفق اعلام شود.

چرا این روش برای InnoDB کافی نیست؟

طبق مستندات MySQL، دستور REPAIR TABLE برای موتورهایی مانند MyISAM، ARCHIVE و CSV است، نه InnoDB. برای خرابی InnoDB باید گزارش سرور، بکاپ و مسیر بازیابی مناسب را بررسی کرد. حذف فایل‌های موتور یا فعال‌کردن حالت‌های بازیابی اجباری بدون طرح نجات داده، راهکار عمومی این آموزش نیست.

نتیجه را روی سایت آزمایش کنید

صفحهٔ خطادار و یک عملیات خواندن و نوشتن مجاز را کنترل کنید. اگر خرابی تکرار می‌شود، فضای دیسک، خطاهای ذخیره‌سازی و توقف‌های سرور به بررسی نیاز دارند. پیام OK پایان بررسی فنی نیست؛ سلامت داده و عملکرد برنامه نیز باید تأیید شود.

مطالعهٔ مرتبط

بازبینی فنی: ۲۷ مهر ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب