DB/MySQL

백업데이터 이용해 테이블 복구하기

CodeDesigner 2022. 4. 22. 09:24

.frm .MYD .MYI 새 파일을 가지고 테이블을 복구시켜보자.

 

우선 위의 세 가지 파일은 다음과 같다.

  • .frm 파일 : 테이블 구조가 저장되어 있는 파일 (format file)
  • .MYD 파일: 실제 데이터가 들어있는 파일 (mysql data file)
  • .MYI 파일: Index 정보가 들어있는 파일 (mysql index file)

3가지 파일을 DB가 존재하는 경로에 복사해 넣자.

 

cp ./*.MYD /var/lib/mysql/Test_DB | cp ./*.MYI /var/lib/mysql/Test_DB | cp ./*.frm /var/lib/mysql/Test_DB

 

파일을 옮기고 서버에서 table이 잘 들어갔는지 확인해보았다.

 

mysql -u root -p 
root

use Test_DB
myisamchk BACKUP_TABLE

 

 문제 발생

서버상에서는 테이블이 생성된것처럼 보였지만 toad 상에선 확인이 안됐다.

 

 문제점 발견

문제는 권한 문제였다.

서버에서 확인할땐 root 계정으로 확인을 해 table 들이 확인이 됐지만, toad에 연결되어있던 계정은 root 계정이 아니었기에 보이지 않았던 것이다.

 

 해결 방법

cd /var/lib/mysql/Test_DB
chown -R mysql:mysql ./*

 

위의 명령어를 사용해 권한을 부여해 해결했다