DB & AWS Knowledge
운영 중 테이블 파일 손실 혹은 유실 시 본문
728x90
반응형
- 해당 자료에서는 MySQL / MariaDB 를 특정 테이블 파일이 유실시 어떻게 되는지를 보여주는 자료다.
- 우선 아래와 같이 move_test 라는 테스트 용 테이블을 만들고 데이터를 기입 해 본다.
- 그 후, 다른 OS 세션을 켠 후 데이터 경로에 가서 테이블 파일 (frm, ibd 확장자) 를 다른 경로로 이동 시켜본다.
( MySQL, MariaDB 는 DB 디렉토리 및 오브젝트 파일 <형상 frm, 데이터 idb 확장자로 2개 파일> 로 각 테이블의 형상 및 데이터를 관리한다.)
- DB를 켠 세션으로 돌아와서 데이터 기입 및 select 를 해보면 데이터가 기입 되고 조회가 되는 것을 볼 수 있다.
- 테이블 파일 이외에 테이블스페이스 파일 (ibdata) 및 DB 디렉토리까지 다른 곳으로 옮겨본다.
- 테이블은 그대로 조회가 되나, 다시 test DB 를 사용하려고 하면 찾을 수 없는 에러를 볼 수 있다.
- 다시 DB 디렉토리 및 테이블 파일까지 다시 원복을 시켜본다.
- 그 후, DB를 조회해보면 테이블 리스트 중에 테스트 대상 테이블이 보이지 않음을 확인 할 수 있다.
파일을 옮긴 후 다시 조회해 보면 테이블이 조회 됨을 알 수 있다.
- 그 후, 다시 데이터를 기입해보고 조회를 마친뒤 뒤, 재접속을 해보면 그대로 조회가 됨을 알 수 있다.
- 테이블을 만들려고하면 아래와 같이 storage 이슈가 발생 한다.
- 재기동 후 다시 생성하려고 하면 아래의 다른 에러를 볼 수 있다.
- 위의 테스트를 보면 이슈 발생 시, 아래의 결과를 추측 해 볼 수 있다.
- 테이블 파일을 이동시켜도 해당 테이블을 조회 및 기입을 해볼 수는 있으나
checkpoint 등으로 데이터를 써내릴 때, 문제가 반드시 발생하기에 파일 원복 만으로는 정합성은 보장 할 수 없고,
storage 에러등의 치명적인 문제가 발생 하기에, 테이블 자체 복구 과정을 거쳐야 한다.
- 테이블 파일을 이동시켜도 해당 테이블을 조회 및 기입을 해볼 수는 있으나
반응형
'MySQL > 기타 지식' 카테고리의 다른 글
MySQL / MariaDB Replication -Slave 서버 데이터 기입 (0) | 2021.07.09 |
---|---|
MySQL Community / MySQL 상용 Edition 차이 (0) | 2021.05.27 |
테이블 rename 시 동일 인덱스 적용 가능 유무 (0) | 2021.03.03 |
MySQL / MariaDB 파티션 생성시 주의 할 점 (0) | 2021.03.03 |
MySQL / MariaDB 버전 구분 (0) | 2021.03.03 |
Comments