2009-07-03 17 views
1

mysql 데이터베이스의 백업을 가져 왔지만 복원하려고 할 때 내 저장 프로 시저가 복원되지 않습니다. 우리가 사용하는 백업과 같은 방법이 있습니까 - mysqldump 명령의 루틴. mysql에서 그런 일을 할 수 있습니까?mysql 데이터베이스를 복원하는 방법

만약 내가 mysqldump를 사용하고 있다면 그냥 mysql 테이블을 덤프하고있다. 그런데 mysql 명령을 사용하여 복원하면 에러가 난다. -오류 1064 (42000) in line 3062 : SQL에 오류가있다. 통사론; 올바른 구문은 미리 줄에서 'ENGINE =의 MyISAM DEFAULT CHARSET = 라틴 BTREE )를 사용하여'

+1

이 내가 5.1 인스턴스를 복원하고에 Serverfault –

답변

2

5.1 백업 복원을 6

감사를 근처에서 사용하는 MySQL 서버 버전에 해당하는 설명서를 확인 5.0 인스턴스. 이 덤프를 5.0에로드하려면 테이블 정의에서 'USING BTREE'를 제거해야합니다.

+0

에 가서는 안된다. –

+0

죄송합니다. 5.1 인스턴스를 복원 할 5.0 인스턴스를 사용하고 있음을 확인했습니다. 감사합니다. –

3

하나의 솔루션은 데이터없이 스키마를 덤프하고 'USING BTREE'대신 검색을 수행하고 db를 작성한 후 테이블 정의없이 덤프를로드하는 것입니다.

또는 un * x 셸에서 perl을 사용할 수 있다고 가정하면 전체 덤프를 직접 사용하고 perl (또는 awk, sed, ruby ​​...)와 같은 위치에서 파일을 필터링 할 수 있습니다 :

cat name-of-dump.sql | perl -pe 's/USING BTREE//' | mysql name_of_db 

또는 압축 덤프 경우 :

zcat name-of-dump.sql.gz | ... 
관련 문제