2012-03-26 10 views
1

파일에서 MySQL 데이터베이스를 복제 할 수 있습니까? [mysqldump가 db를 복제하는 가장 좋은 방법이라는 것을 알고 있지만 mysql 폴더의 백업 된 파일만으로는 불가능합니다.파일에서 MySQL 복원 (덤프 제외)

ibdata1 파일, ib_log * 파일 및 백업 된 파일에서 복원 할 3 개의 db에 대한 전체 디렉토리 (폴더에는 필요한 모든 frm 및 par 파일이 들어있는 것 같습니다)가 있습니다. 분명히 이미 모든 파일을/var/lib/mysql에 복사하려고 시도했지만 데이터에 액세스하려고 시도한 구조는 실패한 것으로 나타났습니다.

show databases는 데시벨의, use dbname 작품을 보여줄 것이며, show tables 제대로 테이블을 표시하지만 (질의를 통해) [모든] 테이블에서 데이터를 액세스하려고 할 때를 말한다 ERROR 1146 (42S02) : 테이블 'DBNAME. dbtable '이 존재하지 않습니다 - mysql이 행복하게 우리에게 테이블을 보여줬을 때 테이블이 존재 함에도 불구하고.

파일을 복사하기 전에 서비스가 중지되었다고 가정하고 mysql을 소유자로 갖고있는 모든 파일을 복사 한 다음 데이터에 액세스하기 전에 서비스를 다시 시작해야합니다.

+0

MySQL 서버 오류 로그에 아무것도 보이지 않습니까? InnoDB는 데이터를 복구하는 데 다소 까다로운 작업을 수행 할 수 있습니다. 적어도 서버 설정이 InnoDB 로그 파일 크기 등과 같은 중요한 변수와 일치하는지 확인해야합니다. – KernelM

+0

오류 : 120326 10:07:18 [ERROR] dbname/tablename 테이블을 찾거나 열 수 없습니다. 에서 테이블의 .frm 파일이 존재하지만 InnoDB의 내부 데이터 사전. InnoDB 데이터 파일을 삭제하고 다시 만들었지 만, 해당 .frm 파일 InnoDB 테이블을 삭제하는 것을 잊었거나, .frm 파일을 다른 데이터베이스로 옮겼습니까? 또는 테이블에이 엔진 버전 이 지원하지 않는 색인이 포함되어 있습니다. 그러나 Jaydee는 복구 방법을 밝힐 수있는 링크를 제공 한 것처럼 보입니다. – Exupery

답변

1

질문에 간접적으로 대답하려면 원시 파일 복사본을 사용하여 복제를 설정하는 것과 관련하여 여기에 정보가 있습니다. 그래서 나는 아마도 그 대답은 '예'라고 생각 하겠지만, 그럴 수 있습니다.

http://dev.mysql.com/doc/refman/5.0/en/replication-howto-rawdata.html

현재의 고통에 추가하고자하지,하지만 당신은 당신이 어떻게 복원 해야할지 모르겠/해본 적이 백업에 의존하고있었습니다?

+0

링크가 도움이되었습니다. 감사합니다. 백업 계획에 관해서는 불필요한 backstory로 내 질문을 어지럽히고 싶지 않았습니다. 나는 정기적으로 mysqldump를 사용한다. 문제가되는이 긴 db를 짧게 만들려면 사람의 실수로 인해 최근 덤프가 없지만, 드라이브의 전체 DD를 닦기 전에 수행했다. – Exupery

+0

config 파일과 똑같은 MySQL 버전과 InnoDB 버전을 사용하고 있습니까? – KernelM

+0

좋아, 그게 설명해. 회복과 함께 행운을 빈다. – Jaydee

관련 문제