DataBase/MySQL
[MySQL] bin log를 이용한 복구
효락
2018. 3. 22. 12:22
mysqldump 를 이용하여 전체 백업 복구 후 bin log를 로그 이용하여 나머지 트랜잭션을 복구를 해보자. mysqldump의 자세한 사용 방법은 "[MySQL] mysqldump를 이용한 백업 및 복구" 에서 확인이 가능하다.
practice_db에 test_backup_table 데이터가 다음과 같다고 하자.
그리고 mysqldump를 이용하여 전체 백업을 받는다. 여기서 중요한 점은 flush_logs 명령을 사용하여 dump를 시작하기전에 bin log를 flush 하자.
덤프 후 새로운 데이터를 넣도록 하자.
덤프 후 시점에 생성된 bin log가 bin.000004 라고 가정해보자.
복구로 bin log를 사용하기 위해서는 텍스트 형식으로 변환을 해줘야 한다.
변환 시 다음과 같은 오류가 난다면 my.cnf 파일에서 'default-character-set=utf8' 를 주석처리 하도록 하자.
my.cnf
이제 복구를 위해서 database가 장애를 통해 사라졌다고 가정하자.
우선 dump 파일을 이용해 복구를 하고 데이터를 확인한다.
그리고 텍스트로 변환한 bin log를 이용하여 복구를 하고 데이터를 확인한다.