MYSQL
HOME > DB > MYSQL
2018.09.23 / 16:07

MariaDB에서 DB 케릭터셋을 UTF-8로 변경하기 MHLab Blog. MariaDB에서 DB 케릭터셋을 UTF-8로 변경하기

hangawee
추천 수 12

MariaDB의 케릭터셋을 확인하였더니..

이번에 Aws에 EC2에 우분투 인스턴스를 하나 만들어서 서비스 환경을 셋업하는 작업하면서 MariaDB를 설치하게 되었습니다.
AWS의 RDS를 사용해도 되지만… 사실 이번에 구동되는 서비스가 매우 중요한 것은 아니고, 일단 RDS의 경우 과금 요소를 좀 생각해야 해서 그냥 EC2에 MariaDB를 설치하여 사용하게 되었습니다.

일단 Docker를 통해서 설치를 진행하였습니다.
그리고 개발환경의 디비 구조를 이동하던 도중 혹시나 해서 DB 케릭터 셋을 확인하였습니다.
콘솔에서 MariaDB에 접속을 하거나, GUI를 통해서 접속 후 아래의 명령어를 실행합니다.

show variables like ‘c%’;



위 사진을 보면 set_database 를 비롯하여 몇 가지가 Iatin1로 되어 있는 것을 확인할 수 있습니다.
전에 겪은 경험이지만 utf8이 아닐 경우 한글 데이터가 들어오면 데이터가 깨지는 현상이 있었고, 그런 문제를 막기 위해서는 케릭터셋을 UTF-8로 맞춰주는 것이 정신 건강에 좋습니다.

작업을 진행하는 순서는 아래와 같습니다.


How To?

  1. MariaDB의 환경변수 변경
    • 설치환경마다 틀리지만 보통 /etc/mysql/my.cnf 입니다.
  2. 설정파일 수정
    • 설정파일을 vim 등으로 열어보면 각 항목들이 있는데 각 항목에 아래의 값을 추가해줍니다.
    • [XXXX]항목에는 값이 있는데 주석이나 실제 사용 값들의 맨 마지막에 추가해줍니다.
    • 추가 내용은 아래를 참고하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
...
[mysqld]
....
#Add
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

...

[client]
port=3306
...
#Add
default-character-set = utf8

[mysqldump]
...
#Add
default-character-set = utf8

[mysql]
...
#Add
default-character-set = utf8

추가를 하고 저장한 뒤에 MariaDB를 재시작해줍니다.
Docker를 사용할 경우 그냥 컨테이너를 재실행 해줘도 됩니다.
그리고 확인을 하면 아래와 같이 정상적으로 변경되게 됩니다.