본문 바로가기

개발/Database

MySQL DB 데이터 삭제 시 데이터 복구

MySQL DB 작업 과정에서 데이터가 삭제되었을 경우 다음 과정을 통해 복구할 수 있다. 

 

1. cd /var/lib/mysql 폴더(MySQL이 설치되어 있는 폴더)로 이동.

 

2. MySQL 바이너리 로그 파일 binlog에서 mysqlbinlog를 사용하여 쿼리 추출.

Decode를 적용하지 않은 MySQL 바이너리 로그 파일

- mysqlbinlog 명령줄 도구를 이용한 추출 시 기본적으로 바이너리 파일로 추출되므로, base64 방식으로 decode 하여 추출.

mysqlbinlog -v --base64-output=DECODE-ROWS binlog.001541 > rescue.sql

3. 쿼리 내에서 데이터 삭제 영역 확인.

- DECODE 된 데이터에서 삭제 시점의 DELETE 가 적용된 데이터를 확인한다.

 

4. 해당 데이터를 활용하여 데이터를 복구한다.

반응형

'개발 > Database' 카테고리의 다른 글

MySQL sysbench 부하테스트  (0) 2021.02.03
고가용성 (High Availability)  (0) 2020.11.12
DB Sharding  (0) 2020.11.09
MySQL 8.0 Remote 설정  (0) 2020.09.23
MySQL 8.0 Requested authentication method unknown to the client 이슈 해결  (0) 2020.09.23