본문 바로가기

엔지니어/DB

Mysql repaired

728x90
반응형
데이터베이스 복구
- 복구 유틸리티
1. 복구대상 인덱스 테이블이  *.ISM 파일 형식이면 isamchk 사용
2. 복구대상 인덱스 테이블이  *.MYI 파일 형식이면 myisamchk 사용

해당 유틸리티 사용시에는 mysql 종료후 사용할것

- 복구시 사용되는 데이터베이스 관련 파일 위치
1. /var/lib/mysql/db명에 위치
2. 각 테이블 하나에 3개의 파일이 생성되어 해당 테이블의 데이터가 실제로 저장
*.MYD : 실제 데이터가 저장되는 데이터파일
*.MYI : 테이블의 인덱스 정보를 저장하는 인덱스 파일
*.frm : 테이블의 구조가 저장되는 스키마파일

- 이상유무 점검 방법
# myisamchk  -s /var/lib/mysql/test.MYI  //점검결과를 간략히 출력
# myisamchk  -v /var/lib/mysql/test.MYI  //점검결과를 상세히 출력
# myisamchk  -i /var/lib/mysql/test.MYI  //점검결과를 상세히 종합하여 출력
- 깨진 테이블 복구하기
# myisamchk  -rv /var/lib/mysql/test.MYI  //
# myisamchk  -o /var/lib/mysql/test.MYI  // r옵션보다는 안전모드로 복구, 속도는 느리다
                                            r옵션으로 복구하지 못하는 내용도 복구 가능
# myisamchk  -er 또는 -eo /var/lib/mysql/test.MYI  // 테이블이 완전히 깨진 최후의 복구방법

- myisamchk 로 복구되지 않을 경우
1. frm 파일로 인해 복구가 되지 않는 경우
- MYI, MYD 파일의 원본 백업
- mysql 접속후 create 문을 이용하여 테이블 생성
- myisamchk 를 통해 복구 시도
2. MYI 파일로 인해 복구가 되지 않는 경우
- MYD, frm 파일의 원본을 백업
- mysql 접속후 delete 구문을 통해 해당 테이블의 모든 레코드를 삭제
- mysql 종료후 백업한 MYD, frm 파일을 원위치로 복사 후 myisamchk 시도


반응형

'엔지니어 > DB' 카테고리의 다른 글

Mysql 5.7.14 설치 및 replication  (0) 2017.01.13
mysql timezone 확인  (0) 2017.01.02
ORACLE vs MS-SQL vs MariaDB // 오라클, MS-SQL, Mysql MariaDB 비교  (2) 2016.07.06
바이너리 로그 확인  (0) 2016.05.26
서브쿼리(SubQuery)  (0) 2016.05.26