본문 바로가기
Database/Mysql

Mysql .frm 과 .idb파일만 남았을때 테이블 구조 및 데이터 복구

by 강깅꽁 2017. 6. 23.

미리 mysql의 데이터를 백업시켜놓지 않고 db가 터져서 접속이 불가능한 상태이기 때문에 .frm파일과 .idb파일만 남아서 이것을 이용해서 복구해야 했기에

재가 썻던 방법을 남깁니다.



.frm에는 테이블 스키마가 남겨져 있는데


shell>mysqlfrm --diagnostic <복구하고 싶은 frm이 담겨있는 mysql database의 경로> 

여기서 shell이란 linux terminal과 windows powershell 다 포함됩니다.


또한 ibd는 

frm에서 나온 테이블을 추가해준 후에


1. alter table <table.name> discard tablespace

2. 복구하고 싶은 idb파일을 해당 db가 있는 폴더에 넣어준다.

3. alter table <table.name> import tablespace

4. .cfg오류는 무시해도 좋습니다.



출처: https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqlfrm.html

http://www.voxteneo.com/restoring-tables-mysql-database-frm-ibd-files-available/