반응형
테이블에 이상이 생기면 나타난 대표적인 증상은 테이블을 확인했을때(desc 테이블이름) 나오는 에러메시지의 내용은 다음과 같다.
ERROR 1016: Can't open file: '테이블이름.MYI'. (errno: 145)
이런 메시지를 처음 접했을때 취할 행동은 repair table 을 실행할 수 있는 계정으로 접속하여 복구해본다.
mysql> repair table 테이블이름
이렇게 복구가 된다면 좋겠지만. 이래도 복구가 안된다면. myisamchk 를 이용한다.
myisamchk 는 테이블의 정의와 데이터, 인덱스를 저장하는 .frm, .MYI, .MYD 파일 자체를 검사하는 프로그램이다. 따라서 MySQL 서버가 테이블에 쓰기(UPDATE, INSERT)를 하는 것은 이러한 파일에 쓰기를 하는 것을 의미하므로 MySQL 서버가 실행중일때 myisamchk 를 실행하는 것은 바람직하지 않다.
myisqmchk를 사용할때는 MySQL 서버를 종료하거나 LOCK TABLE 을 이용하여 테이블을 잠그는 것이 좋다.
★ 테이블 확인
mysql> desc returnmail40; (returnmail40 은 테이블 이름)
ERROR 1016: Can't open file : \returnmail40.MYD\. (errno: 145)
★ 에러코드 확인
\mysql\bin\perror 145
Error code 145: Unknown error
145 = Table was marked as crashed and should be repaired
★ 기본 오류 검사
\mysql\data\ReturnMail\myisamchk --extend-check returnmail40
myisamchk: error: File \returnmail40;\doesn't exist
★ 세부 오류 검사
\mysql\data\ReturnMail\myisamchk --extend-check returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
★ 인덱스 복구 시도
\mysql\bin\myisamchk --recover --quick returnmail40
myisamchk: error: File \returnmail40;\doesn't exist
★ 데이터포함 복구 시도
\mysql\bin\myisamchk --recover returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
★ 완전 복구 시도
\mysql\bin\myisamchk --safe-recover returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
ERROR 1016: Can't open file: '테이블이름.MYI'. (errno: 145)
이런 메시지를 처음 접했을때 취할 행동은 repair table 을 실행할 수 있는 계정으로 접속하여 복구해본다.
mysql> repair table 테이블이름
이렇게 복구가 된다면 좋겠지만. 이래도 복구가 안된다면. myisamchk 를 이용한다.
myisamchk 는 테이블의 정의와 데이터, 인덱스를 저장하는 .frm, .MYI, .MYD 파일 자체를 검사하는 프로그램이다. 따라서 MySQL 서버가 테이블에 쓰기(UPDATE, INSERT)를 하는 것은 이러한 파일에 쓰기를 하는 것을 의미하므로 MySQL 서버가 실행중일때 myisamchk 를 실행하는 것은 바람직하지 않다.
myisqmchk를 사용할때는 MySQL 서버를 종료하거나 LOCK TABLE 을 이용하여 테이블을 잠그는 것이 좋다.
★ 테이블 확인
mysql> desc returnmail40; (returnmail40 은 테이블 이름)
ERROR 1016: Can't open file : \returnmail40.MYD\. (errno: 145)
★ 에러코드 확인
\mysql\bin\perror 145
Error code 145: Unknown error
145 = Table was marked as crashed and should be repaired
★ 기본 오류 검사
\mysql\data\ReturnMail\myisamchk --extend-check returnmail40
myisamchk: error: File \returnmail40;\doesn't exist
★ 세부 오류 검사
\mysql\data\ReturnMail\myisamchk --extend-check returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
★ 인덱스 복구 시도
\mysql\bin\myisamchk --recover --quick returnmail40
myisamchk: error: File \returnmail40;\doesn't exist
★ 데이터포함 복구 시도
\mysql\bin\myisamchk --recover returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
★ 완전 복구 시도
\mysql\bin\myisamchk --safe-recover returnmail40
myisamchk: error: File \returnmail40;\ doesn't exist
반응형
'데이타베이스' 카테고리의 다른 글
./configure 할때 다음과 같이 에러가 생길땐 (0) | 2008.10.10 |
---|---|
checking "LinuxThreads"... "Not found" (0) | 2008.10.10 |
MYSQL 랜덤 추출 (0) | 2008.10.10 |
Host '...........' is blocked Error (0) | 2008.10.10 |
MYSQL 필드속에 일괄적으로 내용 집어넣기 (0) | 2008.10.10 |
mysql 자주 사용하는 쿼리 정리 (0) | 2008.10.10 |
mysql 세션들 끊어주기 (0) | 2008.10.10 |
MySQL 동시 접속자 수 늘리기 (0) | 2008.10.10 |