서버가 crash 되면서 mysql 데이터가 깨진듯 하다.

이런.

다음과 같은 메시지를 뿌리면서 실행이 안된다.

일단 force recovery 로 해봐야 겠다.

http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

[mysqld]
innodb_force_recovery = 1

위 옵션을 넣고, 재실행해 본다.

잘 되야 할텐데...


1차실패 - 옵션값 1 을 주니 실패.

2차시도 - 옵션값을 6 으로 해봤다.

실행까지는 되는데, 로그에 다음과 같은 메시지가 계속 나온다.

140915 12:46:04  InnoDB: Waiting for the background threads to start
140915 12:46:05  InnoDB: Waiting for the background threads to start

찾아보니, 다음 옵션을 추가하라고 한다.

innodb_purge_threads=0


mysqlcheck --all-databases 를 해본다.

InnoDB: space id 74 did not exist in memory. Retrying an open.
140915 13:24:47  InnoDB: Warning: allocated tablespace 74, old maximum was 9
....
InnoDB: space id 83 did not exist in memory. Retrying an open

다음과 같은 메시지가 나온다.

점점 골치가 아파진다. 나에겐 InnoDB 는 사치인가?


이런 에러도 보인다.

 140915 20:04:43  InnoDB: Assertion failure in thread 140280661518080 in file fsp0fsp.c line 2113



이 방법으로 다시 해봐야 겠다.

http://www.percona.com/blog/2008/07/04/recovering-innodb-table-corruption/







반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,