mysql 환경을 utf8(기타) 환경 으로 이전하기..(덤프에서 넣는것까지..) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

mysql 환경을 utf8(기타) 환경 으로 이전하기..(덤프에서 넣는것까지..) 정보

mysql 환경을 utf8(기타) 환경 으로 이전하기..(덤프에서 넣는것까지..)

본문

기본적으로 아시는 분들도 계시겠지만..
 mysql 언어셋에 관련해서 혹시나 모르시는 분들을 위해서 간단하게 정리해서 올립니다.

※ 아래의 내용은 mysql 4.1 이상 버젼부터 정상적으로 적용됩니다.



1. 가장 먼저 mysql로 접속 한 후 use {dbname};
    show variables like 'c%'; 로 확인을 합니다. 
   
+--------------------------+--------------
| Variable_name                 | Value             
+--------------------------+-------------
| character_set_client           | euckr            
| character_set_connection   | euckr            
| character_set_database     | euckr             
| character_set_results        | euckr                    
| character_set_server         | euckr                    

가장 중요한 것은..
character_set_client 와 character_set_connection 과
character_set_database의 속성을 잘 파악하여야 한다는 것입니다.

2.기존 DB를 Dump받습니다. 

  mysqldump -u{username} -p{password} {dbname} --default-character-set ecukr > {dump}.sql

  이때 Dump 받는 SQL은 database의 chracter set이 아니라,
  client가 실제로 사용한 character set. 즉 이경우에는 ecukr 로 저장되는게 맞습니다.

3. DUMP되어있는 sql 파일을 열어서
  CREATE DATABASE ..... DEFAULT CHARSET=euckr; 으로 되어 있는 놈을
  CREATE DATABASE ..... DEFAULT CHARSET=utf8; 로 변경합니다.

4. MySQL로 로그인 하여 새로 부어줄 DATABASE를 생성합니다.
CREATE DATABASE {utf8-dbname} DEFAULT CHARACTER SET utf8;
이렇게 하므로써, 다시 생성될 TABLE의 CHARSET도 utf8로 맞출 수 있게 됩니다


5. dump 한 data를 부어넣습니다.
mysql -u{username} -p{password} {utf8-dbname} < {dump}.sql



===========================

모두 끝난 다음의 절차 - my.cnf 체크

참고만 하시고 굳이 하지 않으셔도 됩니다.

[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

로 바꾸어 주고
mysql 를 restart 합니다.   
 

아무쪼록 소중한 DATA 깨먹는 일 없도록 하시기 바라면서 이만 줄이겠습니다.

 

추천
1
  • 복사

댓글 6개

© SIRSOFT
현재 페이지 제일 처음으로