Skip to content

Instantly share code, notes, and snippets.

@lhy880518
Created March 20, 2019 05:04
Show Gist options
  • Save lhy880518/8cda2a331d3a2de5555ac7eb9b9c142f to your computer and use it in GitHub Desktop.
Save lhy880518/8cda2a331d3a2de5555ac7eb9b9c142f to your computer and use it in GitHub Desktop.
해결방법
1. 과거 시점의 DB를 local에 엎어서 맞는 데이터를 찾아보자(공짜)
1) aliyun 접속 → RDS → Backup and Recovery → 원하는 날짜의 DOWNLOAD 클릭 → tar파일 받아서 풀면 해당 시간의 데이터들이 존재한다.
2) .ibd, .frm파일만 존재한다. 해당 파일을 로컬에 엎어보자
3) local에 mysql 설치
4) workbench를 통해서 local Db접속
a. alter table zeliter.campaign_apply discard tablespace; 실행하게되면 mysql위치/data/db명.ibd 파일이 없어진다
b. .idb파일 위치로 가서 cp mysql위치/data/db명.ibd
c. chown mysql:mysql mysql위치/data/db명.ibd
d. alter table zeliter.campaign_apply import tablespace; 실행 하게되면 로컬에 데이터가 엎어진다.
1. 테이블을 만들때 그냥 만들어서 하게 되면 Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.) 이와같은 에러가 나온다.
2. 테이블 create 할때 ENGINE=InnoDB ROW_FORMAT=compact; 를 추가 해 주자
2. 과거 시점의 DB를 새로운 인스턴스에 넣어보자(유료)
1) aliyun 접속 → RDS → More → Restore Database 아래와 같이 by time으로 만들게되면 된다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment