مراحل MySql Recovery

مراحل MySql Recovery

 
1-      Mysql  را کاملا stop نمایید.
service mysqld stop
pkill mysql
2-      تمام داده های مسیر /var/lib/mysql را در یک جای امن کپی نمایید.
copy /var/lib/mysql/* <safe_place>
3-      خط زیر را به فایل /etc/my.cnf اضافه کنید.
Innodb_force_recovery=[1,6]

توجه:می توانید مقادیر 1 تا 6 را قرار دهید اما اگر مقدار بالا را 5 و یا 6 قرار دهید، جداول حالت read only پیدا میکنند.

4-      سرویس MySql را start  کنید. (در حالت recovery mode فعال می شود)
service mysqld start
5-      از تمامی دیتابیس ها بکاپ تهیه کنید. (می توانید جداگانه و یا کلی بکاپ تهیه نمایید.)
One by one:
mysqldump -u da_admin -p <database_name> > <database_name.sql>
 
Whole databases:
mysqldump -u da_admin -p –all-databases > adddbs.sql
6-      با استفاده از دستور زیر می توانید جداولی که crash کرده اند را پیدا کنید.
mysqlcheck –all-databases -u da_admin -p
(corrupted tables does not get OK value)
7-      از جداولی که crash کرده اند بکاپ تهیه نمایید:
mysqldump -u da_admin -p <database_name> <table_name> > tablename.sql
8-      جداولی را که crash کرده اند از داخل MySql پاک کنید:
mysql>drop table <table_name>;
9-      MySql را متوقف کنید.
service mysqld stop
10-  خط زیر را در /etc/my.cnf ویرایش نمایید:
Innodb_force_recovery=0
11-  MySql را استارت کنید.(در حالت معمولی فعال می شود.)
12-  جداولی را که crash کرده بودند را بازگردانی کنید.
mysql -u da_admin -p <database_name>   < table_name.sql