همه کسانی که با دیتابیس InnoDB کار میکنند احتمالاً با موضوع Crash شدن دیتابیس مواجه میشوند.
در این حالت دیتابیس MySQL استارت نمیشود و خطای زیر روی صفحه مشاهده میشود :
Starting MySQL..The server quit without updating PID file (/var/lib/mysql/my.server.com.pid).[FAILED] or MySQL server PID file could not be found!
In such situation, you will have to start MySQL with InnoDB in force recovery mode using the following steps:
در این حالت بر اساس قدم های زیر حرکت میکنیم تا مشکل دیتابیس برطرف شود :
1) دیتابیس MySQL را STOP کنید :
2) از فایل های دیتابیس در آدرس دایرکتوری زیر بک آپ بگیرید :
/var/lib/mysql
3) فایل تنظیمات mysql را از مسیر زیر پیدا کنید و خط زیر را در آن ایجاد نمایید :
/etc/my.cnf
مقداری که باید اضافه شود :
innodb_force_recovery = 4
4) حالا میتوانید دیتابیس MySQL را ری استارت کنید،در این حالت دیتابیس mysql از دستورات Insert و Update صرف نظر میکند و سرویس MySQL اجرا میشود.
5) از همه جداول در دیتابیس Dump و خروجی بگیرید.
6) سرویس MySQL را Stop کرده و مسیر دایرکتوری و فایل های دیتابیس را حذف نمایید سپس دستور زیر را برای ایجاد دیتابیس پیش فرض اجرا نمایید :
mysql_install_db
7) از فایل my.cnf که در بالا اشاره شد دستور innodb_force_recovery را حذف نمایید.
8) در این حالت میتوانید سرویس MySQL را اجرا نمایید و سپس Restore دیتابیس را از فایل Dump تهیه شده انجام دهید.