웹모아
웹모아[손님] 검색 로그인   
웹모아
 
백업/기타
 


Mysql-4.1.13 의 한글 문제. | 리눅스
  2007-03-06 00:07:13 댓글:(0)   조회:453


Character-set이 문제가 되어 기존 서버의 있던 데이터들이 모두 깨져서 보이는 것이다.

해결 방법은 간단했다. 컴파일 시에 character-set 옵션을 지정해서 euckr로 지정해 주는 것이다.

기존 서버의 MySQL 버전은 3.2 였는데 Mysqldump를 떠서 4.1.13버전에 import를 시키면 한글 데이터의 경우 모두 깨져 보였지만, character-set=euckr 옵션을 주고 컴파일을 하고 나서 import를 하자 모두 정상으로 되었다.

근데 특이한 것은 4.1.13에서는 테이블에 Default Character set 이 항상 정의되어 있다는 것이다. 지정하지 않으면 컴파일시의 디폴트값인 Latin1으로 되고 이후 생성되거나 import 되어지는 모든 테이블에서 디폴트값인 Latin1으로 문자셋이 세팅된다. 따라서 반드시 컴파일시에 문자셋을 euckr로 해주어야 한다.

그럼 이미 import 되어버린 테이블의 경우 어떻게 할까?

alter table Tour default character set euckr;

위와 같이 테이블의 default character set 을 euckr로 바꾸어 주면 된다. 문제는 이렇게 하게 되면 테이블안의 컬럼의 경우의 문자셋은 그대로 Latin1이라는 것이다. 컬럼들을 모두 아래의 과정을 거쳐 변환해줘야 한다.

alter table Tour modify CateCode binary(700);
alter table Tour modify CateCode varchar(20) character set euckr collate euckr_korean_ci default NULL;

binary로의 변환을 한번 거쳐줘야 한다. binary는 문자셋 특성이 없기 때문에 Latin1문자들의 문자셋 속성을 없애게 된다. 그렇다고 한글 특성까지 없어지는 것은 아니다. 두번째 과정에서 기본문자셋을 지정해주면된다.

하지만 이것도 문제인것이 컬럼이 엄청날경우 쌩노가다가 아닐수 없다는 것이다. 그때는 스크립트를 쓰던지 아니면 컴파일할때 문자셋을 지정해 주던지 해야 한다.

그런데 배포판의 경우는 어떻게 해야 하남? 다 지우고 재 컴파일을 해야 하나? 그럴수 있는 관리자라면 문제가 없지만 그리고 APM으로 이미 연동이 되어버린 경우는 참 난감하다.

아직 MySQL에 데이터를 입력하기 전이라면 /etc/my.cnf 의 [mysqld], [mysql] 세션에 아래와 같이 한줄 추가해준다.

default-character-set=euckr

또한 mysql 터미널로 접속하고나서 아래의 명령어로 지정된 문자셋을 알수 있다.

mysql> show variables like '%character\_set%';

+--------------------------+-----------------------------------+
| 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_system | utf8 |
| character_sets_dir | /www2/mysql/share/mysql/charsets/ |
+--------------------------+-----------------------------------+
mysql>set character_set_client=euckr <- 문자셋 변경



 댓글 (0)


백업/기타
페이지: 1 / 4   

 

  XtraBackup을 이용한 MySQL 백업 및 복
mysql 백업시 보통은 mysqldump를 사용합니다. 하지만 데이터가 커질수록 mysqldump로 백업한 데이터는 복구에 걸리는 시간이 길어집니다.mysql 서버를 중단시키지 않고 InnoDB 엔진도 핫백업이 가능한 도구로 XtraBackup이라는 오픈소스 프로그램이 있습니다. 소개를 보면 mysql 상용 백업 프로그램인 InnoDB Hot B조회(23)          




  MySQL DB 백업 및 복구 - mysqldump
MySQL DB 백업 및 복구 - mysqldump MySQL을 사용하다 보면 백업을 하고 다시 복구 해야 될때가 종종 있습니다. 그럴때는 번거롭게 디렉토리 전체를 복사하시지 말고, 간단한 프로그램으로 백업 복구 가능합니다. 일단 백업하는 방법은 mysqldump라는 프로그램으로 백업 할 수가 있습니다. mysql의 bin 디렉토리 내에 mysqld조회(502)          




  [MySQL] 리눅스DB를 윈도우DB로 이전(Too
[MySQL] 리눅스DB를 윈도우DB로 이전(Tool)   - 현재 개발환경은 Ubuntu 8.10 - 나의 테스트 환경은 윈도우XP - 이미 구조화된 DB를 내 PC에서 테스트하며 작업하고자 하는 상황 - SQLyog Enterprise(Tool)이용   1. DB export Mysql_DB_Dump.a조회(422)          




    [RE] [MySQL] 리눅스DB를 윈도우DB로 이
리눅스에서 윈도우로 이전하는 방법을 간단히 말씀드리면, 우선은 MySQL 을 백업하시고, 모든 파일을 TAR 를 이용하여 묶어준 다음에 윈도우 서버로 갖어와서 TAR를 해제하고 DB 를 복제하고 인스톨러로 제품번호만 다시 인증받으면 됩니다. 1. MySQL 빽업 #> mysqldump -u 사용자명 -p 데이터베이스이름 > 백업하여생성할파일이조회(645)          




  정보통신부 제공 우편번호부 원본파일
http://postman.pe.kr/zipcode/index.html 이 자료는 2007년도 우편번호 원본파일입니다. * 메일링에 가입하시면 우편번호 변경시에 알려 드립니다. 파일버전 : zipcode_20071130 우편번호 변경내역 (2007.11.30.자)  데이타베이스용 우편번호 파조회(745)          




  mysql 원격접속방법
텔넷으로 접속해서 mysql -uroot mysql> use mysql; Here’s an example of the output on my database, which is pretty much the default settings. Note that ubuntuserv is the hostname of my server. mysql> use m조회(704)          






  가격비교 참고자료
product (상품정보) ------------------------------------ code | model | category | hit ------------------------------------ 1000 | 캐논디카A | 1000 | 50 1001 | 캐논디카B | 1000 | 40 100(홈마스타)     댓글 (3)     조회(507)          




  리눅스에서 PHP 콘솔을 이용한 MySQL DB 백
기존의 DB 백업은 bash 를 셸프로그래밍 소스들이 많이 있습니다. 도스때 config.sys 와 autoexec.bat 를 만져본것 말고는 셸프로그램은 자신이 없어 PHP 를 이용해 셸 프로그램을 만들었습니다. $dir 은 MySQL 의 DB가 들어있는 디렉토리 (반드시 끝에 /) $backupdir 은 백업 시킬 디렉토리 ( 반드시 끝에 /) (홈마스타)     조회(568)          




  utf8 환경으로 자료 conversion 성공기
MySQL환경을 UTF-8로 전환하기 기존 MySQL 환경에서는 Database측 CHARSET 이 latin1 이나 euckr을 많이 사용했을 겁니다. Legacy DB쪽은 아무 생각없이 CREATE DATABASE ... ; 해버렸었던 경우가 많아서 latin1 으로 되어 있는 database가 저또한 엄청나게 많았습니다. 그런데, (홈마스타)     조회(539)          




  Mysql-4.1.13 의 한글 문제. | 리눅스
Character-set이 문제가 되어 기존 서버의 있던 데이터들이 모두 깨져서 보이는 것이다. 해결 방법은 간단했다. 컴파일 시에 character-set 옵션을 지정해서 euckr로 지정해 주는 것이다. 기존 서버의 MySQL 버전은 3.2 였는데 Mysqldump를 떠서 4.1.13버전에 import를 시키면 한글 데이터의 경우 모두 깨(홈마스타)     조회(454)          




≪ [1]  [2]  [3]  [4]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.




최근 글
[손님]


인기 글
[손님]