| |
2003.7월에 리눅스사랑넷에 답변한 내용입니다.
http://linux-sarang.net/board/?p=read&table=qa&no=196400
---------------------------------------------------------------------
03393번 글의 답장글: RE: MySQL frm 파일을 지우고 다시생성할 수 있나요?
글쓴이: 좋은진호 글쓴날: 2003-07-16 01:41:19
복구전에 기존에 살려둔 .MYI, .MYD, .frm 파일을 꼭 별도로 보관해 두세요.
.frm만 깨졌을 경우 DDL문을 가지고 있다면, 복구가 쉽게 끝날 수도 있습니다.
깨진 table과 똑같은 구조의 다른이름 table을 새로 생성하세요.
예) 깨진 테이블이 test라면, 임시로 test-temp로.
그러면 DB경로에 .frm, .MYI, .MYD가 생성될겁니다. 이 파일 중 test-temp.frm 를
test.frm으로 복사하고 mysql client로 확인해보세요.
성공적이라면 test-temp 테이블은 삭제.
위와 같이해도 안되면,
mysql> 상에서 repair table <테이블명> 으로 복구할 수도 있고, MySQL에 함께 제공하는 myisamchk 이라는 북구툴도 이용할 수 있습니다.
특별히 InnoDB type으로 table을 생성한 경우(보통 MyISAM type임)가 아니라면
이 툴로 또다른 문제에 대해서도 복구가능합니다.
myisamchk -r -q 테이블명 또는
myisamchk --safe-recover 테이블명
테이블명은 실제 .MYI 등 파일이 있는 경로를 쭉 써주세요. (DB명=abcd, table=test)
예) myisamchk -r -q /usr/local/mysql/var/abcd/test
자세한 복구방법은 mysql site에 있구요.
http://www.mysql.com/doc/en/Repair.html
.MYD 파일에 큰 문제가 없다면 복구될 겁니다. 꼭 성공하시길.
: 서버가 맛탱이가 간후
:
: 간신히 파일만 살려서 새로운 서버에다가 옮겼습니다.
:
: 데이터도 있는데.. frm 파일에서 "화일의 부정확한 정보"
:
: 라는 에러가 뜹니다.
:
: 테이블의 컬럼 정보가 잘못되어서 깨졌나 봅니다.
:
: 복구할수 있는 방법이 있을까여?
:
: --
: 감사합니다
|