처리순서를 간단히 정리하자면.(1회의 언급한 내용)
- 업그레이드 전 dump (euckr , utf8 확인)
- mysql 업그레이드 ... ( 3.x , 4.0.x -> 4.1.x or 5.x )
- set names euckr 명시 (euckr 환경인경우)
- table 의 Engine , Charset 를 조정.
- 덤프 데이터 restore
- 확인.
# 위 업그레이드 절차를 좀더 자세히 설명한다.
- 업그레이드 전 dump (euckr , utf8 확인)
- 명령은 간단한다.(추가적인 옵션등은 검색)
- mysqldump {DB_name} > DB_name.sql
- mysqldump {DB_name} -u {user_name} -p{password} > DB_name.sql
- mysqldump -F -n --add-drop-table {DB_name}> DB_name.sql
- 명령은 간단한다.(추가적인 옵션등은 검색)
- mysql 업그레이드 ... ( 3.x , 4.0.x -> 4.1.x or 5.x )
- 각 배포판, APM 배포판 별로 업그레이드 한다.
- 업그레이드 방법은 별도로 찾아본다.
- 위 단계에서 dump 파일이 있으니, 안심해도 된다.
- 다시 롤백을 해야할 상황은 없길 바란다.
- 각 배포판, APM 배포판 별로 업그레이드 한다.
- set names euckr 명시 (euckr 환경인경우)
- dump 파일을 euckr , utf8 에 맞게 iconv 같은 것으로 변환을 하는 경우도 있는데, 굳이 필요 없다.
- 이전 환경이 euckr 이면 dump 파일 맨 위에 "set names euckr" , utf8 이면 "set names utf8" 이라고 한줄 추가해 준다.
- table 의 Engine , Charset 를 조정.
- 4.0.x 를 덤프하면 create table 부분에 " ) Type=MyISAM " 이라고 되어 있을 것이다
- 덤프파일에서 Engine , Charset 을 적절히 바꾼다.
- " ) ENGINE=InnoDB DEFAULT CHARSET=euckr " 형태로 바꾸어 준다.
- 각각 InnoDB/MyISAM , euckr/utf8 로 적절한 환경으로 바꾸어 준다.
- 덤프 데이터 restore
- 위 수정된 덤프파일을 저장한다.
- mysql {DB_name} < DB_name.sql 으로 복구한다.
- 확인(my.cnf 등의 옵션 조정)
- 데이터가 이상없는지 확인.
- euckr 환경인 경우
- my.cnf 의 mysqld 항목에 init_connect = 'set names euckr' 를 추가한다.
- utf8 환경이라도 init_connect = 'set names utf8' 이라고 넣어주는 것이 좋다.
- php 에서 위 설정을 해주지 않으면 latin1 으로 기본 설정된다.
- chartset 에 관한 부분은 추후 더 정리할 예정.
# 업그레이드시 주의사항
- 테이블 charset 변경시 : alter table {테이블명} convert to character set utf8 명령으로 하면.
- multibyte 를 사용하는 db 의 경우 필드 값이 반으로 줄어 버림
- 그래서 dump 로 처리하는 것이 좋음
- 덤프파일의 create table 항목의 charset 을 변경하는 방식으로 처리.
- 4.0.x 에서 dump 시 euckr , utf8 인지 확인
- euckr 인 경우 덤프파일의 맨위에 set names euckr , utf8 은 set names utf8 를 삽입
- 이부분만 주의하면 무리없이 진행가능.
- php 에서는 기본이 latin1 으로 잡힘
- my.cnf 에 default-character-set 을 설정확인.
- init_connect ='set names euckr' 최종 값이 설정됨.
- init_connect 가 php 의 설정에 영향을 미침.
- my.cnf 에 default-character-set 을 설정확인.
- dump 파일의 ENGINE , CHARSET 을 변경가능 (InnoDB , MyISAM) , (euckr , utf8)
ps. 좀더 자세한 설명이지만, 배포판별 mysql 업그레이드 방법, 세부 mysql 옵션등의 설명은 생략하였다.
더 자세한 설명은 메뉴얼을 참조한다.
받은 트랙백이 없고
,
댓글이 없습니다.
,
트랙백 주소 :: http://taemy.experlab.com/trackback/164
% 공지 : 혹시 트랙백이 안되시면, 댓글로 관련글을 남겨주세요.(수동트랙백) %



댓글을 달아 주세요