본문 바로가기
IT-개발,DB

[mysql] mysqldump 복구시 오류날때 처리

by SB리치퍼슨 2016. 10. 30.

[mysql] mysqldump 복구시 오류날때 처리



MySQL 복구 및 백업

 


백업 명령  mysqldump -u root -p aaa > aaa.sql 
복구 명령  mysql -u root -p aaa < aaa.sql

 

 

 

 

질문//

서버이전때문에 4.12버전의 디비데이터를 덤프시켜서 
3.23으로 복구할려는데 에러가 생겼어요 

에러 메시지는 아래와 같이 납니다. 
ERROR 1064 at line 11: You have an error in your SQL syntax near 'ENGINE=MyISAM DEFAULT CHARSET=latin1' 

하위 버전에서 복구할 방법은 없나요? 
덤프할때 --compatible=mysql323 옵션을 사용해봐도 옵션이 먹지가 않더라구요. 

이전할 서버에 mysql버전을 업그레이드하면 제일 간단하겠지만 그럴 치지도 못되어서 .. 
새버전 업그레이드 하는 것 말고는 방법이 없을까요?

 

 

답변//

 

shell> mysqldump --skip-opt --compatible=mysql323 DB명 > 파일.sql -p

 

제 경우는 mysqldump --create-options --compatible=mysql40 으로 잘되었습니다. 
mysqldump --create-options --compatible=mysql323 으로 될것 같습니다. 



mysql 4.1 버전부터는 mysqldump를 그냥 실행하면 utf-8 코드로 백업 받습니다.

- 따라서 mysqldump를 할때 --default-character-set=euckr 옵셥을 주면 euckr 코드로 덤프 받습니다. 
- 4.1버전의 경우 latin1 으로 기본세팅이 되므로 euckr 대신 latin1으로 해야할 수도 있습니다. 
- 인서트문이 한줄씩 나오지 않을때는 --extended-insert=FALSE 를 추가합니다.


반응형

댓글