mysql 바이너리 로그를 사용하여 drop 데이터베이스 명령에서 어떻게 복원합니까?

StackOverflow https://stackoverflow.com/questions/88800

  •  01-07-2019
  •  | 
  •  

문제

"drop Database" 명령을 사용하여 삭제된 mysql 데이터베이스를 어떻게 복원할 수 있습니까?이러한 유형의 롤백을 가능하게 하는 바이너리 로그에 액세스할 수 있습니다.

도움이 되었습니까?

해결책

문서가 형편없어요.DROP DATABASE가 복구 가능하다는 것을 암시하지만, 익숙하지 않은 이상한 조건에서만 가능합니다. http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

Docs에 따르면 binlog는 주어진 참조 지점을 기반으로 실행되는 일련의 명령일 뿐입니다.따라서 "DROP DATABASE"를 수행했을 때 "아, 그가 데이터베이스를 삭제하는 중입니다. 혹시 모르니 지금 백업해야 합니다"라고 하는 대신 마지막 binlog에 "DROP DATABASE"만 기록했습니다.복구는 테이프를 거꾸로 재생하는 것만큼 간단하지 않습니다.

당신이 해야 할 일은 마지막으로 알려진 양호한 데이터베이스에서 데이터베이스를 복구하고 해당 복구 지점과 DROP 명령 사이에 발생한 binlog를 적용하는 것입니다.

http://dev.mysql.com/doc/refman/5.0/en/recovery-from-backups.html

어떤 binlog를 사용할지 결정하는 방법은 불분명합니다.

전체 파일 시스템을 백업하는 것보다 더 좋은 것은 없습니다.그리고 최소한 이를 참고할 수 있어야 합니다.

다른 팁

데이터베이스 백업이 없으면 운이 좋지 않습니다. 떨어지다데이터베이스 작성은 영구적입니다.

백업이 있다고 가정하면 바이너리 로그에는 해당 백업 이후 발생한 내용이 보관됩니다.mysqlbinlog 유틸리티를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

mysqlbinlog the_log_file > update.sql

하지만 다시 실행하고 싶지 않은 항목(예: drop 데이터베이스 문)을 제거하려면 해당 파일을 편집해야 할 수도 있습니다.

행운을 빌어요!

백업도 파티도 없습니다.

그래서 나는 대답할 것이다:

다시는 이러한 상황에 처하지 않으려면 매우 간단하고 매우 강력한 automysqlbackup을 설치하십시오(Linux를 사용하는 경우).

sudo apt-get 설치 automysqlbackup

그것을 구성하십시오 :

sudo nano /etc/default/automysqlbackup

그런 다음 콘텐츠를 dropbox, ubuntu 또는 이와 유사한 장치에 자동으로 업로드하십시오.

그럼 행복하게 살아요 :)

Kent Fredric의 답변을 보완하기 위해 drop database 데이터베이스 생성 이후 바이너리 로깅을 사용하는 경우 명령.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top