2014-12-24 4 views
0

데이터가없는 테이블 스키마가있는 sql 파일을 내 보냈습니다. 그런 다음 비어있는 다른 데이터베이스로 가져 와서 비어있는 테이블을 만듭니다.데이터베이스의 레코드 제거 (mysql workbench)

문제는 첫 번째 데이터베이스에 비어 있지 않은 파일을 가져 와서 테이블을 빈 상태로 복원했기 때문입니다.

이제 모든 테이블이 비어 있습니다.

다시 말해, 준비 데이터베이스에서 빈 테이블 sql 파일을 내보내고 새 데이터베이스를 빈 데이터베이스로 가져 왔습니다. 대신 파일이 실수로 스테이징 데이터베이스로 가져오고 모든 데이터가 제거되었습니다.

오른쪽 데이터베이스의 가져 오기 옵션에서 "기본 대상 스키마"를 선택 했으므로 여기서 어떤 점이 잘못되었는지 알 수 없습니다.

내 질문은 - 제거 된 데이터를 resotre 수있는 방법이 있습니까?

+3

그냥 백업을 사용하십시오. – Strawberry

답변

1

이것은 매우 나쁜 소식입니다. 가져 오기 파일에서 많은 양의 데이터가있는 테이블을 삭제하고 행이없는 테이블을 다시 만들었습니다. 아야.

백업이있는 경우 복원하십시오.

백업이없는 경우 삭제 된 파일을 복구하여 일부 데이터를 복원 할 수도 있고 복원하지 않을 수도 있습니다. InnoDB 테이블을 위해 별도의 파일을 사용하거나 MyISAM을 사용했다면 운이 좋을 것이다. 여하튼, MySQL 서버 인스턴스를 종료하고 가능한 한 조용하게 실행하는 서버를 만들어 OS가 삭제 된 파일 공간을 회수 할 가능성을 줄이십시오.

자세한 내용은 https://serverfault.com/에 문의하십시오.

이 이벤트를 복구하기 어려울 수 있습니다.

+0

그럼 준비 데이터베이스이므로 프로덕션 데이터베이스의 일부만 복사 할 수 있습니다. 그러나 지금 당장 프로덕션 데이터베이스에 액세스 할 수 없기 때문에이 질문을 던졌습니다. 감사! – khernik

+0

하지만 우스운 일이 일어난 직후, 아마존 스테이징 서버가 작동을 멈췄습니다. 이것이 관련 될 수 있습니까? : P – khernik

+1

준비 서버의 소프트웨어가 준비 데이터베이스의 특정 정보에 의존하는 경우 해당 정보가 갑자기 사라질 때 분명히 실패 할 수 있습니다. –