2009-07-03 4 views
1

여러 사이트를 호스팅하는 이전 서버의 디렉터리 만 백업했습니다. 데이터베이스에 대한 몇 가지 .sql 백업에 액세스 할 수 있었지만 그 방식으로 백업되지 않은 데이터베이스가있었습니다. 내/var/lib/mysql/db_name 디렉토리에 내 DB 테이블의 .MYD, .frm 및 .MYI 파일을 찾았습니다.원시 MYSQL 데이터 파일을 다른 디렉터리로 이동

이 파일들로부터 데이터를 가져 와서 새로운 기존의 mysql 설치로 옮길 수있는 방법이 있는지 알고 싶습니다. db 폴더에서 db 폴더로 파일을 똑같은 이름으로 복사하려고 시도했지만 테이블에 액세스하려고 할 때 "db_name/table_name.frm을 찾을 수 없습니다"오류가 발생합니다. 그들은 phpmyadmin 테이블 목록에 나타나지 만, 테이블에 액세스하려고하면 오류가 발생합니다.

이것이 가능합니까? 그렇다면이 테이블 파일을 사용 가능한 데이터로 변환하는 방법은 무엇입니까?

내 질문이나 설명이 이해가되지 않는 경우 죄송합니다. 이것은 현재 11 시간 이상 지속되는 긴급 서버 복구 프로젝트의 일부로 오늘 내 머리가 튀어 나와서 뇌가 ​​튀었습니다. 나는 필요한 모든 질문에 답할 것이다.

답변

1

/var/lib/mysql/db_name/의 파일은 root가 아닌 mysql이 소유하고 있음을 확인 했습니까? 일반적으로 파일을 복사하는 것은 '그냥 작동'해야합니다 (확실히 나와 함께합니다). 나는 당신이 MySQL의 동일하거나 매우 유사한 버전을 사용하고 있다고 가정한다.

+0

Mysql 버전은 동일합니다. 모든 파일은 mysql이 소유합니다. – Mesidin

+0

필자는 동일한 시스템 유형이고 파일 이름의 대소 문자도 모두 동일하다고 가정합니다. DB 파일을 실제로 MySQL에서 읽을 수 있습니까 (즉, 소유자의 권한은 r/w입니까?)? MySQL이 다시 시작 되었습니까? MySQL 중지, 파일 복사 및 권한 설정 등을 시도한 다음 MySQL을 다시 시작 했습니까? 이 모든 기본 사항 외에도 아이디어가 없습니다. –

1

이전 설치시 일치하는 'mysql'데이터베이스를 포함하여 해당 데이터베이스와 관련된 모든 것을 복원해야합니다.

+0

필자는 mysql 데이터베이스를 복사본에 포함 할 필요가 전혀 없지만 일부 상황에서는 중요 할 수도 있습니다. –

+0

예.하지만 그렇게하기 전에주의하십시오. 새 서버에 이전 데이터베이스가 있으면 잃을 수 있습니다! – jap1968

관련 문제