2009-06-23 4 views
0

나는 이것이 당신 중 한 명에게 간단한 대답이되기를 바라고 있습니다.테이블이 손상된 경우 백업을 복원 할 수 있습니까?

우리는 웹 기반 관리 도구가 될 제품을 위해 단일 보드 컴퓨터에서 PHP/MySQL을 실행합니다. 이 제품은 '설정하고 잊어 버려'응용 프로그램이 될 것입니다.

우리가 우려하는 것 중 하나는 MySQL 테이블/데이터베이스 손상입니다.

우리는 손상을 진단하거나 dbase 오류를 잡아 그에 따라 작동 할 수있는이 작은 상자에서 지속적으로 실행되는 프로세스를 가지고 있습니다.

우리는 이러한 동일한 프로세스를 통해 정기적으로 백업을 생성합니다. 우리는 손상을 감지하거나 dbase 오류를 발견하면 프로세스를 일시 중지하고 가장 최근의 백업에서 테이블을 복원 할 것이라고 생각합니다. 우리의 희망은 이것이 부패를 고쳐 줄 것이라는 것입니다.

질문 : MySQL 테이블이 손상된 경우 백업 복원을 수행 할 수 있습니까?

위의 논리가 맞으면 후속 질문이 될 것이라고 생각합니다. 백업 복원이 테이블 손상 문제를 해결합니까?

나는이 바보처럼 들리지만, 우리는 MySQL 백엔드에 익숙하지 않다는 것을 알고있다. 우리의 두려움은 dbase (또는 테이블)가 손상된 경우 백업 복원을 방해한다는 것입니다.

여러분 중 일부는 이에 무게를 둘 수 있습니까?

고마워요.

+0

'복원'을 수행하기 위해 무엇을 사용하고 있습니까? –

+0

strings myTable.tbl> recovered_data : P –

+0

Derek, PHP를 사용하여 mysql 명령을 실행하여 백업 파일에서 복원합니다. – Ducain

답변

1

예, 그렇습니다. 마지막 백업까지만 데이터가 저장되므로 그 시간부터 손상 시간까지 손실 된 데이터를 잃어 버릴 수 있지만 일반적으로 최대 하루입니다.

백업은 백업 중 상태에 관계없이 데이터베이스의 복사본입니다. 깔끔한 백업으로 손상된 데이터베이스를 복원하면 늠름한 이야기가됩니다. 이런 이유로 월간 백업과 지난 7 일간의 백업을 유지하십시오. 귀하의 백업 중 하나가 묶인 경우를 대비하여.

+0

이것은 매우 작은 dbase이지만 제품에 매우 중요하므로 실제로 5 분마다 백업을 수행합니다.어떤 시점에서 우리 프로세스 중 하나가 dbase 읽기/쓰기 오류를 발견하면 진단을 시도하고 파일에서 복원을 실행합니다. – Ducain

0

백업을하는 것이 중요하다고 생각합니까?

게다가 테이블이 이미 손상된 경우 복원하려고 할 때 발생할 수있는 최악의 상황은 무엇입니까?

나는 그것을 위해 말한다.

1

생각하기에 앞서 손상된 테이블을 백업하지 않도록 조치를 취해야한다고 생각합니다. 백업을 복원하고 백업 자체가 손상된 경우 바로 시작한 곳입니다.

사용중인 스토리지 엔진은 무엇입니까?

+0

InnoDb를 사용하고 있습니다. 나는 99 %의 사례에서 InnoDB가 부패 문제를 해결할 것이라고 읽었습니다. 나는 그걸 믿기가 힘들어. – Ducain

1

한 가지 생각할 사항. 데이터베이스를 구성하는 방법에 따라 백업에서 단일 테이블을 복원하면 참조 무결성에 문제가 발생할 수 있습니다.

+0

그것에 대해 간단히 덧붙여 주시겠습니까? – Ducain

+0

해당 테이블과의 관계가 있거나 그 테이블에서 관계가있는 경우 다른 내용으로 단일 테이블 백업을 복원하면 외래 키가 기존 행을 가리 키지 않을 수 있습니다. 응용 프로그램에서이 문제를 처리하는 방법에 따라 문제가되지 않을 수도 있습니다. – Mendelt

관련 문제