2014년 8월 19일 화요일

mysql 4.0 to 5.1 업그레이드

frm 파일 자체를 옮겨서 시도.
실패.

mysqldump 로 시도.
mysqldump -u root-ppass -e --all-databases > DB_ALL.sql

아래와 같은 오류 발생.
ERROR 1064 (42000) at line 250: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN smallint(6) unsigned NOT NULL default '0',
  OUT smallint(6) unsigned NOT NUL' at line 18

정상적인 쿼리이나, IN 필드명이 mysql에서 사용하는 명령어라서 에러가 발생하는 것으로 보임.

테스트로 해당 테이블 필드를 모두 '로 감싸고 실행 했더니, 정상적으로 실행됨.

필드명를 '(따옴표)로 감싸줄 필요가 있음.

--quote-names 추가.
mysqldump -u kim01 -pwjqthr01 --opt --quick --quote-names --all-databases > DB_ALL.sql

결론.
-  mysql 간의 이동이라면 --opt 옵션를 사용하자. 복구 시간이 엄청 단축된다.
- --quote-names 를 사용하자.

참조 : http://start.goodtime.co.kr/2013/03/mysqldump-sql-%ED%98%B8%ED%99%98%EC%84%B1-%EB%86%92%EC%9D%B4%EA%B8%B0/

댓글 없음:

댓글 쓰기