출처 :  http://www.cyworld.com/ruo91/7511613



필자는 MySQL의 innodb 엔진을 사용하고 있다가 특정 테이블이 깨졌었다.
사실.. 귀찮아서 복구를 미루다가 이참에 포스팅 해본다.

우선 mysql 데몬을 중지한다.
my.cnf의 [mysqld] 부분에 아래와 같이 추가하고 데몬을 재시작한다.

[root@yongbok ~]# nano /etc/my.cnf
[mysqld]
innodb_force_recovery = 4




mysqldump로 깨진 테이블이 있는 데이터베이스를 dump한다.

[root@yongbok ~]# mysqldump -u [userid] -p [db_name] > /path/to/directory/db_name.sql



ex1)

[root@yongbok ~]# mysqldump -u ruo91 -p ruo91_db > /tmp/ruo91_db.sql
Enter password:



mysql 데몬을 중지하고 my.cnf의 innodb_force_recovery = 4 구문을 지운다.
그후 mysql를 시작하면 복구가 끝난다.


참고
http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html




 

+ Recent posts