728x90

결론부터 확인하자면, MySQL 서버의 시스템 변수(정확히는 현 클라이언트에 대한 세션 변수)
character_set_client
character_set_connection
character_set_result
동적 시스템 변수에 대한 설정을 윈도우에 맞게(euckr) 설정 해 주어야 한다.

전체 default_character_set 설정을 모두 윈도우(euckr)로만 서버를 설정할 필요가 없다는 것이다.
서버의 설정(예를 들면, utf8)을 그대로 두고, 접속하는 클라이언트의 default_character_set 변수를 설정하여 서버에 접속하면 가능하다.

서버의 문자셋 관련 서버의 시스템 변수(global)를 확인하기.
mysql> show global variables like 'char%';

세션(session)의 시스템 변수 문자셋 확인하기.
mysql> show variables like 'char%';
또는
mysql> show session variables like 'char%';

global 변수와 session변수의 값이 다르게 나타날 수 있다.
이는 서버가 옵션 파일을 읽는 설정과 서버 자체가 컴파일한 디폴트에 근거해서 접속 클라이언트에 대한 값이 다를 수 있다.

MySQL 서버는 서버가 어떻게 구성되었는지를 가리키는 많은 시스템 변수들을 유지 관리 한다.
각 시스템 변수는 디폴트 값을 가지고 있다. 시스템 변수들은 명령어 라인 또는 옵션 파일에서 옵션을 사용하여 서버 스타트업 때
설정될 수 있다.
아직까진 mysql클라이어트 프로그램을 위한 옵션파일 사용법은 모르겠다.
시스템 변수들 중에 많은 수가 동적인 변수이며, 서버가 동작 중에 있을 때 SET 명령문을 사용해서 변수값을 변경할 수가 있다.

* 윈도우 mysql 클라이언트 프로그램 실행시 MySQL서버의 문자셋 utf8 에 대한 문자셋 설정
shell> mysql -u user -p --default_character_set euckr
이렇게 실행하므로써 MySQL 서버의 디폴트 문자셋 utf8 에대한
character_set_clinet, character_set_connection, character_set_results 의 문자셋이 euckr 로 동작한다.

MySQL 서버가 디폴트 및 옵션 파일에서 읽는 변수 값을 보기 위해서는
shell> mysqld --verbose --help
옵션 파일에 있는 설정 값은 무시하고, 서버 자체가 컴파일한 디폴트에 근거해서 사용할 값을 보기 위해서는, 아래 명령어
shell> mysqld --no-defaults --verbose --help
shell> mysqladmin -u user -p variables | more
사용하여 설정된 문자셋, default-character-set 의 값을 확인 할 수 있다.

728x90

'DB' 카테고리의 다른 글

MYSQL function  (0) 2012.07.29
MYSQL server has gone away  (0) 2012.07.29
mysql charset  (0) 2012.07.29
my.ini파일 설정  (0) 2012.07.29
mysqldump -h  (0) 2012.07.29

+ Recent posts