Mysql - mysql 설치후 Character set 변경
Posted 01 28, 2010 13:06, Filed under: DataBase/Mysql# mysql 기본 설치시에 원하는 캐릭터셋이 아닌 다른 걸로 설정이 되어있을경우에 변경합니다.
# 현재 캐릭터셋 검색
mysql>show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+
mysql>status 또는 \s
--------------
mysql Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1
Connection id: 1
Current database:
Current user: 계정명@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.42 명ySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 12 sec
Threads: 1 Questions: 6 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.500
--------------
# 데이타 베이스 생성 : utf8 타입
CREATE DATABASE 데이터베이스명 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 데이타 베이스 생성 : euckr 타입
CREATE DATABASE 데이터베이스명 DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci;
# 데이타 베이스 생성후 외부 접속하기 위해서 IP를 추가 해줍니다.
GRANT ALL PRIVILEGES ON 데이타베이스명.* TO '계정명'@'192.168.1.100' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
## 각각의 캐릭터 셋을 변경 - 이 변경 방법은 mysql 데몬이 재실행 될경우에 초기화 됨.
mysql> SET character_set_client = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_connection = utf8;
mysql> ALTER DATABASE DB명 DEFAULT CHARACTER SET utf8;
commit;
## /etc/my.cnf 파일에 설정 - 이 설정 방법을 추천 mysql 데몬이 재실행 되어도 설정을 유지 합니다.
mysql>vi /etc/my.cnf
################# utf8 설정 #################
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
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
port = 3306
socket = /tmp/mysql.sock
basedir = /opt/mysql/mysql
datadir = /opt/mysql/mysql/data
set-variable = table_cache=1024
set-variable = max_connections=500
set-variable = max_user_connections=100
set-variable = max_connect_errors=10000
log-slow-queries
set-variable = long_query_time=3
skip-name-resolve
# InnoDB 사용 안할시 아래 내용추가
#skip-innodb
sync_binlog = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
default-character-set=utf8
################# utf8 설정후 확인 #################
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.1.42, for pc-solaris2.10 (i386) using readline 5.1
Connection id: 4
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.42-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 19 min 31 sec
Threads: 2 Questions: 33 Slow queries: 1 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.28
mysql> show variables like 'char%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /opt/mysql/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.99 sec)
################# euckr 설정 #################
[client]
default-character-set=euckr
[mysqld]
default-character-set=euckr
init_connect=SET collation_connection=euckr_korean_ci
init_connect=SET NAMES euckr
character-set-server=euckr
collation-server=euckr_korean_ci
port = 3306
socket = /tmp/mysql.sock
basedir = /opt/mysql/mysql
datadir = /opt/mysql/mysql/data
set-variable = table_cache=1024
set-variable = max_connections=500
set-variable = max_user_connections=100
set-variable = max_connect_errors=10000
log-slow-queries
set-variable = long_query_time=3
skip-name-resolve
# InnoDB 사용 안할시 아래 내용추가
#skip-innodb
sync_binlog = 1
[mysqldump]
default-character-set=euckr
[mysql]
default-character-set=euckr
잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
"DataBase / Mysql" 분류의 다른 글
Mysql - CONCAT() 함수 이용 뷰 쿼리 생성시 Hex 값 추출 증상(convert 사용) (0) | 2013/02/14 |
Mysql - Error : Illegal mix of collations (0) | 2013/02/13 |
Mysql - 테이블 정보 출력 (0) | 2012/04/03 |
Mysql - TEXT Length (0) | 2011/01/13 |
Mysql - auto_increment 값 초기화 (0) | 2010/08/20 |
Mysql - 에러 Got error: 1045 Access denied (1) | 2010/02/18 |
Mysql - Connector/J Versions 버전 확인 (0) | 2010/01/28 |
Mysql - InnoDB 사용 가능 상태 확인및 설정 (0) | 2010/01/27 |
Mysql - 실수로 삭제한 mysql DB 복구방법 (0) | 2010/01/20 |
Mysql - 계정 생성및 외부 접속 아이피 등록 설정 (0) | 2010/01/19 |
Trackback URL : http://develop.sunshiny.co.kr/trackback/385
-
Mysql - mysql 설치후 Character set 변경
Tracked from 멀고 가까움이 다르기 때문 03 29, 2010 18:25 Delete# mysql 기본 설치시에 원하는 캐릭터셋이 아닌 다른 걸로 설정이 되어있을경우에 변경합니다. # 현재 캐릭터셋 검색 mysql>show variables like 'char%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------..
-
^^유용한 정보 감사해요~!
-
네 글 남겨주셔서 고맙습니다^^
-
궁금한점이 있는데..혹 원인을 아시는지... /etc/my.cnf를 수정했는데요. mysql> show variables like 'char%';이렇게 확인해보면 character_set_database ,character_set_server 이 두개만 utf8로 변경이 안되있더라고요..흠..데이터베이스와 테이블들도 모두 utf8로 변경했는데..왜...그런지..^^;;; 혹 아시면 답변좀 부탁 드려요...
-
-
안녕하세요. ^^
테스트를 해봤는데요.
혹시 위의 예에서 [mysqld] 이부분 넣어주셨나요?
[mysqld]
default-character-set=utf8
[mysqld] 이 괄호를 인식하여 설정이 됨으로 괄호까지 넣어주셔야 됩니다.
# [mysqld] 의 적용 범위
character_set_database
character_set_server
# [mysql] 의 적용 범위
character_set_client
character_set_connection
character_set_results
제가 확인해본 바로는 위와 같습니다^^-
헐~~~~~설명 감사합니다!!!!!
ㅜㅜ설명해주셔서 더욱 정확히 알았습니다.
안된이유는 데몬이 제대로 재시작이 안되그랬네요.^^;;;
감사합니다~!
남은시간도 편안하세요~!!!
-