MySQL 캐릭터셋(CharacterSet) 변경

리눅스

MySQL 캐릭터셋(CharacterSet) 변경


MySQL 기본 설치 시에 부분 캐릭터셋이 latin1로 되어있는데 방치해두게 되면 인코딩이 깨져서 한글 깨짐이 발생하게 된다. 그래서 초기에 MySQL 설치 후에 latin1으로 설정 되어있는 것을 utf8 혹은 euckr로 서버 환경에 따라 맞춰서 변경해주어야 한다.

MySQL 캐릭터셋 변경하는 방법


먼저 터미널 창에서 MySQL을 접속하고 다음과 같은 명령어를 입력합니다.
show variables like ‘c%’;

 [root@nopiamanual ~]# $  mysql -uroot -p [비밀번호]
 Enter Password :
 Welcome to the MariaDB monitor. Commands end with ; or \g.
 Your MariaDB connection id is 48526

 Server version: 10.5.8-MariaDB MariaDB Server

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

 MariaDB [(none)]> show variables like ‘c%’;

부분 부분 캐릭터셋이 latin1로 되어있다.
utf8로 변경하기 위해서 다음과 같은 파일을 vi 편집기로 들어가서 해당 내용을 추가해준다.

 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/ |
 | check_constraint_checks | ON |
 | collation_connection | utf8_general_ci |
 | collation_database | latin1_swedish_ci |
 | collation_server | latin1_swedish_ci |
 | column_compression_threshold | 100 |
 | column_compression_zlib_level | 6 |
 | column_compression_zlib_strategy | DEFAULT_STRATEGY |
 | column_compression_zlib_wrap | OFF |
 | completion_type | NO_CHAIN |
 | concurrent_insert | AUTO |
 | connect_timeout | 10 |
 | core_file | OFF |
 +———————————-+—————————-+
 20 rows in set (0.001 sec)

다음과 같이 client.cnf 파일을 수정해준다.

 [root@nopiamanual ~]# $ vi /etc/my.cnf.d/client.cnf
 [client]
 default-character-set=utf8

 :wq

그리고 clients.cnf을 수정해준다.

 [root@nopiamanual ~]# $ vi /etc/my.cnf.d/mysql-clients.cnf
[mysql]default-character-set=utf8
[mysqldump]defalut-character-set=utf8


 :wq

그리고 server.cnf을 수정해준다.

 [root@nopiamanual ~]# $ vi /etc/my.cnf.d/server.cnf
 [mysql] collation-server = utf8_unicode_ci
 init-connect=’SET NAMES utf8′
 character-set-server = utf8

 :wq

cnf 파일 변경을 다 했으면 MySQL 데몬을 재시작 해준다.

 [root@nopiamanual ~]# $ systemctl restart mariadb

MySQL를 재시작 후에 show variables like ‘c%’;로 확인 해보면
아래와 같이 utf8로 변경 되었으면 설정이 제대로 된 것이다.

 MariaDB [(none)]> show variables like ‘c%’;
 +————————–+—————————-+
 | Variable_name | Value |
 +————————–+—————————-+
 | character_set_client | utf8 |
 | character_set_connection | utf8 |
 | character_set_database | utf8 |
 | character_set_filesystem | binary |
 | character_set_results | utf8 |
 | character_set_server | utf8 |
 | character_set_system | utf8 |
 | character_sets_dir | /usr/share/mysql/charsets/ |
 | collation_connection | utf8_general_ci |
 | collation_database | utf8_unicode_ci |
 | collation_server | utf8_unicode_ci |
 | completion_type | NO_CHAIN |
 | concurrent_insert | AUTO |
 | connect_timeout | 10 |
 +————————–+—————————-+
 14 rows in set (0.00 sec)

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

Fill out this field
Fill out this field
유효한 이메일 주소를 입력해주세요.
You need to agree with the terms to proceed

메뉴