인생에 뜻을 세우는데 있어 늦은 때라곤 없다

WEB/DB

innodb로 된 mysql frm ibd 파일만 있을 경우 table 복구 하기

projin 2018. 12. 24. 14:27

innodb로 되어 있는 mysql(mariadb)애서 frm ibd 파일만 있을 경우 table 복구 하기



1. Mysql 종료


2. 먼저 frm, ibd 파일을 백업 한다.(혹시 몰라서...)


3. 먼저 테이블 생성해야 하며 테이블 생성하면 frm, ibd 파일 생성이 된다.

   테이블 구조를 모를 경우 .frm 파일을 가지고 있으면 테이블 스키마가 남겨져 있어 테이블 구조를 추출할 수 있다.

   
shell>mysqlfrm --diagnostic *.frm (frm 파일 경로)
shell>mysqlfrm --server=root:password@localhost *.frm--port=3307 --user=root > db.sql
	


   mysqlfrm 도구를 이용하면 테이블 구조를 추출할 수 있다.







4. 명령어를 이용해서 기존에 연동된 데이터를 해제한다.

   
ALTER TABLE table_name DISCARD TABLESPACE;
	


5. ibd 파일 업로드 후 파일 권한 및 소유권한 확인

   
shell> chown mysql:mysql 파일명
	


6. 명령어를 이용하여 백업받은 현재 데이터들을 연동한다.

   
mysql> ALTER TABLE table_name IMPORT TABLESPACE;
	


7. Mysql 시작



삭제된 MySQL DB 데이터 복구방법

LIST