본문 바로가기
Work/DataBase

[DB] MySQL 8.0 인코딩 설정 (utf-8, euc-kr)

인코딩은 서버 설정에 매우 중요하다, 

MySQL은 DB가 가지는 default Encording을 설정할수있고,

해당 DB 테이블마다 인코딩값을 가진다. 

 

 

1. DB 인코딩확인

> mysql -uroot -p

********

> status

 

 

2. 원도우 서버 인코딩 변경

 

윈도우에 설치시 이런상황이 기본값이다. 

# 윈도우서버는 인코딩은 설정파일 my.ini 을 잘 변경해주고,

C:\ProgramData\MySQL\MySQL Server 8.0 에 존재하며 위치확인도 가능하다.

 

 

- my.ini 경로확인

> SHOW VARIABLES WHERE Variable_Name LIKE "%datadir"

 

 

 

 

파일 맨 마지막에 아래와 같이 추가한다 (저장시 인코딩 주의, 원본 백업 필수입니다.)

euc-kr 설정

[client]
default-character-set = euckr

[mysqld]
character-set-client-handshake=FALSE
init_connect=”SET collation_connection = euckr_korean_ci”
init_connect=”SET NAMES euckr”
character-set-server = euckr
collation-server = euckr_korean_ci

[mysqldump]
default-character-set=euckr

[mysql]
default-character-set=euckr

 

utf8 설정

 [client]
 default-character-set = utf8

 [mysqld]
 skip-character-set-client-handshake
 default-character-set = utf8
 character-set-server = utf8
 collation-server = utf8_general_ci
 init-connect = SET NAMES utf8

 [mysqldump]
 default-character-set = utf8

 [mysql]
 default-character-set = utf8

 

재기동만 해주면된다.

 

시작 + E  -> taskmgr.exe

재시작

 

 

 

3. 리눅스 서버

 

vi /etc/my.cnf

맨 아래에

위와같이 원하는 인코딩 설정을 추가합니다.

 

mysql 재시작

> systemctl restart mysqld