2014-01-20 2 views
0

MySQL 엔터프라이즈 백업을 사용했지만 지금은 하나의 테이블을 복원해야합니다. 기존 테이블을 건드려보고 싶지 않지만 하나의 데이터베이스를 새 데이터베이스로 복원하려고하므로 이전 값을보고 그 중 몇 개만 빼낼 수 있습니다.mysql의 백업에서 새 데이터베이스를 만드는 방법

복원 할 데이터베이스에 apply-log가 있습니다. 그런 다음 XY라는 새 데이터베이스를 만들었고 "appy-log"작업 후에 생성 된 모든 파일을 XY 폴더에 넣어 mysql 데이터 파일에 저장했습니다.

나는 모든 테이블을 참조 할 수 있지만 그들 중 하나를 쿼리 할 때 좀 더 문제를 유발하지 않고 내가 MySQL이 새로운 테이블에 복원 된 파일을 읽을 얻을 수있는 방법

"테이블이 존재하지 않습니다"오류 ?

답변

0

데이터 디렉토리 아래에서 파일을 옮기고 InnoDB가 파일을 알아 차릴 수는 없습니다.

InnoDB는 책의 목차와 같이 생각할 수있는 "데이터 사전"을 유지 관리합니다. 이것은 InnoDB가 어떤 테이블이 존재 하는지를 안다는 것이다. 데이터 딕셔너리는 CREATE, ALTER, DROP, RENAME과 같은 DDL 문에 의해 업데이트됩니다. 하지만 물리적으로 파일을 datadir로 옮기면 업데이트되지 않습니다.

MySQL 엔터프라이즈 백업에서 테이블을 가져 오는 방법은 여기에 설명되어 있습니다 : Backing Up and Restoring a Single .ibd File.

MySQL 5.6은 transportable tablespace 기능으로 새로운 유연성을 도입했습니다.

두 방법 모두 한 테이블 씩 을 가져 오는 것입니다. 전체 데이터베이스를 가져 오기위한 해결책은 없습니다.

궁극적으로 백업을 별도의 MySQL 인스턴스로 복원 한 다음 필요한 몇 가지 작업에 액세스하는 것이 훨씬 쉽습니다. MySQL의 임시 인스턴스를 설정하는 데 유용한 도구는 MySQL Sandbox입니다.