MySQL

윈도우10에서 MySQL 캐릭터셋 UTF8로 변경하기

레파캣 2016. 7. 21. 22:00

삽질은 나를 힘들게 한다..

언젠가는 좀 더 쉽게 문제를 해결하는 날이 오겠지..


Windows 10 에 MySQL 5.7을 설치했다. 

책에서 character set 을 utf8 로 설정한다고 되어 있는데, 책에 나온대로 똑같이 따라했는데도 불구하고 euckr 로 되어있어 이를 바꾸려 했다. 간단해 보이는 이 작업이 2시간여 나를 괴롭혔다..


mysql> status

--------------

mysql  Ver 14.14 Distrib 5.7.13, for Win64 (x86_64)


Connection id:          3

Current database:

Current user:           repacat@localhost

SSL:                    Not in use

Using delimiter:        ;

Server version:         5.7.13-log MySQL Community Server (GPL)

Protocol version:       10

Connection:             localhost via TCP/IP

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    euckr

Conn.  characterset:    euckr

TCP port:               3306

Uptime:                 7 min 33 sec


Threads: 1  Questions: 10  Slow queries: 0  Opens: 108  Flush tables: 1  Open tables: 101  Queries per second avg: 0.022

--------------


mysql>



문제해결에 아래 블로그가 가장 유용했다.

http://blog.daum.net/bang2001/91

http://blog.daum.net/bang2001/98



1. 윈도우에서는 환경설정 파일이 my.ini 이다. my.cnf 가 아니다.


2. 환경설정 파일의 위치는 아래와 같다.

C:\Program Files\MySQL\MySQL Server 5.7


3. my-default.ini 를 기반으로 my.ini 파일을 만들어야 한다.

my-default.ini 는 예제로 사용하라고 들어있는 파일이다.


4. my.ini 를 수정하려면 권한을 줘야한다.




5. my.ini 에 아래 내용을 추가한다. UTF8 로 설정한다는 내용이다.

#################################################

# Chatset Setting

#################################################

[client]

default-character-set=utf8


[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

init_connect=SET collation_connection=utf8_general_ci

init_connect=SET NAMES utf8


[mysql]

default-character-set=utf8

#################################################

* my-default.ini 에 있는 내용도 들어있어야 한다.


6. MySQL 서비스를 중지, 시작한다.

Ctrl + Shift + Esc 키를 눌러 작업관리자를 띄운 후 서비스 탭을 선택한다.

MySQL57 을 찾아서 중지, 시작을 해준다.



7. MySQL 콘솔로 들어가서 확인해본다.


mysql> status

--------------

mysql  Ver 14.14 Distrib 5.7.13, for Win64 (x86_64)


Connection id:          3

Current database:

Current user:           repacat@localhost

SSL:                    Not in use

Using delimiter:        ;

Server version:         5.7.13-log MySQL Community Server (GPL)

Protocol version:       10

Connection:             localhost via TCP/IP

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

TCP port:               3306

Uptime:                 1 min 58 sec


Threads: 1  Questions: 5  Slow queries: 0  Opens: 108  Flush tables: 1  Open tables: 101  Queries per second avg: 0.042

--------------


mysql>


MySQL 콘솔로 들어가는 것도 이번에 처음 해보았다. 두가지 방법이 있는데, MySQL Workbench 에서 Start Command Line Client 를 하던가 커맨드 창을 실행해서 접속할 수 있다. 커맨드 창을 통해 접속하는 방법은 아까 소개한 블로그에 자세히 나와있으니 참고하길 바란다.