반응형

Linux CentOS 7 : MariaDB 문자 설정

문자설정 배경

 MySQL 시절부터 기본설정이 Latin으로 되어 있어서 한글을 입력할 경우 깨지는 경우가 있었다. 때문에 이러한 문제점을 해결하기 위한 문자셋 설정이 필요하다. 현재 전세계 언어를 지원하는 가변 문자셋으로 utf8를 거의 표준처럼(그리고 잠정적인 표준) 사용하고 있기 때문에 이 설정으로 해야 한다.


문자셋 확인

 MariaDB로 로그인이 된상태에서 status를 입력하면 문자셋을 확인할 수 있다. 과거에는 기본적 설정으로 Latin으로 주로 되어 있었는데 요즘에는 server, client 일부만 Latin으로 설정되어 있다.


기본문자셋 설정

 대부분 인터넷에 있는 설정을 확인을 해보면 /etc/my.cnf 파일에서 [mysqld]항목을 수정하도록 되어 있다. 하지만, 해당 파일일을 내용을 보면 [mysqld]항목이 아예 없고 대신 /etc/my.cnf.d 폴더에서 설정파일들을 읽어도록 되어 있는 것을 확인 할 수 있다.

 따라서 이제는 /etc/my.cnf.d/ 항목중에서 적합한 파일을 수정해야 한다. 주로 server쪽 문자셋을 수정해야 하므로 /etc/my.cnf.d/server.cnf 항목을 수정하려고 열어보자. 이 파일안에 우리가 수정하고자 하는 [mysqld]를 찾을 수 있다.

vi /etc/my.cnf.d/server.cnf

파일에서 [mysqld]밑에 문자셋 설정을 추가한다.

# 생략
[mysqld]
init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci
# 생략


 문자셋 설정을 하고 나서 MariaDB를 재시작하자.

systemctl restart mariadb


주의 : 종종 재시작이 안되는 경우가 있는데, 이럴경우 침착하게 방금수정한 설정을 삭제한뒤 다시 시도해 본다. 다시 시도했을 때 정상작동되는 경우 오타가 있을 가능성이 크다.

참고자료

 대부분 자료는 각 설정 항목마다 기본문자셋을 설정하지만, 현재는 그럴 필요가 없다.

블로그 : 우분투 환경에서 MariaDB 문자셋 설정

블로그 : CentOS 환경에서 MariaDB 문자셋 설정


반응형

+ Recent posts