리눅스, mariaDB 캐릭터셋 UTF8 설정 방법
- 운영체제(OS)
- 2022. 4. 18.
통상 마리아DB의 기본 캐릭터 셋(Character set)은 latin1
입니다. 그러나 latin1은 긴 문자열을 처리하지 못하는 등 제약이 있어 보통 utf8
이 많이 사용됩니다.
이런 이유로 마리아db를 설치한 뒤엔 기본 캐릭터 셋을 utf8로 설정하는 과정을 거치게 됩니다.
마리아db의 기본 캐릭터 셋을 확인합니다.
MariaDB[none]> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | NO_CHAIN |
| concurrent_insert | AUTO |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.01 sec)
3개 파일에 캐릭터셋 설정을 추가합니다. client.cnf는 없을 수 있는데, 없으면 직접 만들면 됩니다.
- client.cnf
- mysql-clients.cnf
- server.cnf
파일은 아래의 경로로 진입하면 있습니다.
$ /etc/my.cnf.d/
각 파일에 vi
명령어를 이용해서 편집합니다.
/etc/my.cnf.d/client.cnf
[client]
default-character-set=utf8
/etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
/etc/my.cnf.d/server.cnf
[mysqld]
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
이제 마리아 db를 재시작하면 변경한 캐릭터 셋이 적용됩니다.
참고로 캐릭터셋 변경 전 create database
를 했다면 해당 db는 변경되기 전 캐릭터 셋으로 만들어졌기 때문에 지우고 다시 만들어야 합니다.
반응형
'운영체제(OS)' 카테고리의 다른 글
CentOS 7, 사용자 계정 sudo권한 부여하는 방법 (0) | 2022.04.21 |
---|---|
리눅스, MariaDB 데이터 경로 Datadir 변경 방법 (0) | 2022.04.18 |
리눅스 파일 소유자와 권한 설정하는 방법 (chown, chmod) (0) | 2022.04.16 |
리눅스, 백그라운드 | 포그라운드 실행이란? (0) | 2022.04.14 |
윈도우 DLL 파일이란? (0) | 2022.04.04 |