>  기사  >  데이터 베이스  >  【MySQL 07】데이터베이스 복구 기술

【MySQL 07】데이터베이스 복구 기술

黄舟
黄舟원래의
2017-02-04 11:58:551577검색

1. 4가지 유형의 실패

거래 실패, 시스템 실패, 미디어 실패, 컴퓨터 바이러스

1. 거래 실패: 거래 내부 실패는 예상된 실패와 예상치 못한 실패로 나눌 수 있습니다. 대부분의 실패는 예상치 못한 일입니다. 예상되는 내부 트랜잭션 실패는 트랜잭션 프로그램 자체를 통해 발견할 수 있는 내부 트랜잭션 실패를 의미하며, 연산 오버플로 실패, 동시 트랜잭션 교착 상태 실패, 결과적으로 발생하는 특정 무결성 제한 위반 등 예상치 못한 내부 트랜잭션 실패는 트랜잭션 프로그램에서 처리할 수 없습니다. 오작동 등의 경우

2. 시스템 장애 : 하드웨어 장애, 데이터베이스 소프트웨어 및 운영체제 취약점, 데이터베이스 운영 중 갑작스러운 정전으로 인한 시스템 장애를 의미합니다. 실행 중인 트랜잭션이 비정상적으로 종료되고 시스템을 다시 시작해야 하는 오류 유형입니다. 이 유형의 트랜잭션은 데이터베이스를 삭제하지 않지만 실행 중인 모든 트랜잭션에 영향을 미칩니다.

3. 미디어 오류: 미디어 오류는 하드 오류라고도 합니다. 주로 데이터베이스 작동 중 헤드 충돌, 디스크 손상, 강한 자기 간섭, 자연 재해, 인명 피해 등으로 인해 발생하는 현상을 말합니다. - 재해 등으로 인해 데이터베이스의 데이터가 일부 또는 전부 손실되는 장애 유형입니다.

4. 컴퓨터 바이러스 장애 : 컴퓨터 바이러스 장애는 바이러스처럼 복제되어 확산될 수 있는 악성 컴퓨터 프로그램으로, 컴퓨터 시스템에 손상을 입히는 동시에 데이터베이스 시스템에도 손상을 줄 수 있습니다. 주로 데이터베이스 파일).

2. 해결 방법

1. 예상되는 트랜잭션 내부 오류: 트랜잭션을 롤백하고 데이터베이스 수정을 취소합니다.
2. 예상치 못한 내부 트랜잭션 실패: 트랜잭션을 강제로 롤백하고 로그 파일을 사용하여 트랜잭션이 다른 트랜잭션에 영향을 미치지 않도록 하면서 데이터베이스 수정 사항을 취소합니다.
3. 시스템 오류: 컴퓨터가 다시 시작된 후 완료되지 않은 트랜잭션이 데이터베이스에 기록될 수 있으며, 완료되지 않은 모든 트랜잭션에 의해 기록된 결과는 완료된 트랜잭션의 일부 또는 전부가 버퍼에 남을 수 있습니다. 결과적으로 커밋된 모든 트랜잭션을 다시 실행해야 합니다. 즉, 커밋되지 않은 모든 트랜잭션은 취소되고 커밋된 모든 트랜잭션은 다시 실행됩니다.
4. 미디어 오류에 대한 소프트웨어 내결함성: 데이터베이스 백업 및 트랜잭션 로그 파일을 사용하고 복구 기술을 사용하여 데이터베이스를 백업이 끝난 상태로 복원합니다.
5. 미디어 오류에 대한 하드웨어 내결함성: 두 개의 하드 디스크가 동일한 콘텐츠를 저장하도록 이중 물리적 저장 장치를 사용합니다. 하드 디스크 중 하나에 오류가 발생하면 적시에 다른 백업 하드 디스크가 사용됩니다.
6. 컴퓨터 바이러스 오류: 바이러스 침입을 방지하려면 방화벽 소프트웨어를 사용하세요. 바이러스에 감염된 데이터베이스 파일의 경우 바이러스 백신 소프트웨어를 사용하여 바이러스를 죽이지 못할 경우에만 바이러스를 제거할 수 있습니다. 소프트웨어 내결함성을 보장하려면 지금 데이터베이스 백업 파일을 사용하십시오. 데이터베이스 파일을 복원하는 방법입니다.

3. 데이터 복구 구현 기술

데이터베이스 복구의 기본 원칙은 중복성, 즉 시스템의 다른 곳에 저장된 중복된 데이터를 이용하여 해당 부분의 데이터베이스에서 손상되거나 잘못된 데이터베이스를 재구성하는 것입니다. 데이터의.

중복 데이터를 생성하는 방법에는 크게 데이터 덤프(백업)와 등록 로그(로깅) 두 가지가 있습니다.

【MySQL 07】데이터베이스 복구 기술

1. 데이터 덤프

DBA는 정기적으로 데이터베이스 전체 또는 데이터베이스에 포함된 데이터의 일부를 다른 디스크에 복사하여 저장합니다. 대체 복사본 또는 대체 복사본이라고 합니다.

정적 덤프: 시스템에서 실행 중인 트랜잭션이 없을 때 수행되는 덤프 작업입니다. 덤프 기간 동안 데이터베이스에 대한 액세스 또는 수정 활동이 허용되지 않습니다.

동적 덤프: 덤프 중에 데이터베이스에 대한 액세스 또는 수정이 허용됩니다. 즉, 덤프 작업이 사용자 트랜잭션과 동시에 실행됩니다.

대량 덤프: 매번 전체 데이터베이스를 덤프합니다.

증분 덤프: 마지막 덤프 이후 업데이트된 데이터만 매번 덤프됩니다.

2. 등록 로그

등록 로그는 트랜잭션 업데이트 작업을 데이터베이스에 자동으로 기록하는 시스템입니다. 로그는 일반적으로 안정적인 저장소에 기록됩니다.

레코드 단위의 로그 파일:
트랜잭션 식별(어떤 트랜잭션인지 표시), 작업 유형(삽입, 삭제 또는 수정), 작업 개체(기록 내부 식별), 업데이트 전 데이터의 이전 값 , 업데이트된 데이터의 새 값

데이터 블록 단위의 로그 파일:
트랜잭션 식별, 업데이트된 데이터 블록

로그 파일 등록 원칙:
(1) 등록 순서는 병렬 트랜잭션의 시간 순서를 엄격히 따릅니다.
(2) 로그 파일을 먼저 작성한 다음 데이터베이스를 작성해야 합니다

3. 체크포인트

위 내용은 [MySQL 07] 데이터베이스 복구 기술에 대한 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.