MySQL 기본 인코딩 변경하기
MySQL 기본 패키지는 character set 이 latin1로 설정되어 있다. 따라서 서버에 따라서 세팅을 바꿔줘야 할 필요가 있다.
나같은 경우에는 UTF-8로 통일하였다.
우선 현재 mysql의 설정값을 확인해 보자
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| 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 | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.02 sec)
역시 latin1으로 되어있다.
명령어를 통해서도 mysql을 사용할때 변경 할 수 있지만, 이렇게 되면 데몬이 재실행 될때마다 다시 latin1으로 돌아간다. 따라서 고정적으로 바꿔주자.
기본 케릭터 셋들을 원하는 값으로 변경 ( UTF-8 로 변경하였다 )
$ vi /etc/my.cnf
[mysql]
default-character-set = utf8
[mysqld]
character-set-client-handshake=FALSE
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
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[client]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
'IT노트 > MYSQL' 카테고리의 다른 글
[mysql] function 정보 (0) | 2015.03.12 |
---|---|
한글꺠짐방지 DB 케릭터셋 변경 리눅스 (0) | 2015.03.08 |
18. 스토어드(STORED) 루틴 (0) | 2015.03.04 |
[MySQL] .sql 파일 실행 (0) | 2015.03.03 |
mysqladmin flush-hosts -uroot -p (0) | 2015.03.01 |