DB/MYSQL

ibd 파일로 데이터 복구하기

MAKGA 2024. 4. 28. 13:43
320x100

mysql 에서 저장된 데이터들은 테이블이름.ibd 파일로 저장된다.

해당 파일로 다른 곳에서의 복구를 위해선 해당 파일과 테이블의 스키마가 필요하다.

 

t_table 이란 이름으로 예를 들어보자.

 

1. 복구할 DB에 테이블 스키마로 빈 테이블 생성

CREATE TABLE t_table
[구조]....

 

2. 빈 테이블의 데이터 파일 연결 해제

ALTER TABLE t_table DISCARD TABLESPACE;
FLUSH PRIVILEGES;

 

3. 빈 테이블 ibd 위치에 내가 복구하려는 ibd 파일 복사 및 사용 권한 부여

cp /home/myaccount/t_table.ibd /var/lib/mysql/databasename/
chown mysql:mysql t_table.ibd

 

4. 테이블에 데이터 파일 연결

ALTER TABLE t_table IMPORT TABLESPACE;

 

 

이후 SELECT 문으로 정상 연결 되었는지 확인.

320x100