Cloud

[AWS] RDS MySQL 언어 변경 (utf8 / utf8mb4, character-set, collation)

ryean 2022. 6. 29. 13:15
반응형

 


 

MySQL 에서 한글을 사용하려면 utf8 혹은 utf8mb4 인코딩되어야 한다.

그렇지 않으면 한글깨짐현상이 발생한다.

 

AWS RDS Management Console 에서 인코딩 변경이 가능하다.

 

ㆍ utf8 과 utf8mb4 차이가 무엇이 있을까?

utf8 은 emoji 를 지원하지 않는다.

이러한 문제점을 해결하기 위해 utf8mb4 가 나왔으며, utf8mb4 는 emoji 를 지원한다.

 

 

인코딩 변경 전 먼저, 현재 character-set 을 확인해보자.

show variables like 'c%';

일부 character_set 이 latin1 로 되어있는 것을 확인할 수 있다. (*latin1 은 AWS RDS MySQL 의 디폴트 언어이다.)

캐릭터셋 latin1 을 utf8 혹은 utf8mb4 로 변경해보자.

 

(1) 파라미터 그룹 선택

RDS Management Console 에서 [RDS] -> [파라미터 그룹] 을 선택 후, 변경을 원하는 파라미터 그룹을 선택한다.

(나의 경우, [MYSQL57] 파라미터 그룹을 변경할 예정이다.)

 

파라미터 그룹이 없다면 [파라미터 그룹 생성] 을 선택해 먼저 파라미터 그룹을 생성해주자.

 

(2) 캐릭터셋 파라미터 utf8 혹은 utf8mb4 변경

파라미터 검색창에 [character_set] 을 입력 후, 우측 상단에 [파라미터 편집] 을 선택한다.

 

아래의 파라미터 값을 utf8 혹은 utf8mb4 로 모두 변경 후, 우측 상단의 [변경 사항 저장] 을 선택해 저장한다.

 - character_set_client

 - character_set_connection

 - character_set_database

 - character_set_filesystem

 - character_set_results

 - character_set_server

 - character_set_system

 

 

위와 동일한 방법으로, 파라미터 검색창에 [collation] 을 입력 후, 아래의 파라미터 값을 utf8_general_ci 혹은 utf8mb4_general_ci 로 모두 변경 후, 우측 상단의 [변경 사항 저장] 을 선택해 저장한다.

 - collation_connection

 - collation_server

 

 

파라미터 그룹 변경 후 반드시 DB 재부팅을 해주어야 적용이 되는데,

DB 재부팅 전에 적용하려는 DB 의 파라미터 그룹이 잘 설정되어 있는지 확인을 먼저 해보자.

 

(3) DB 파라미터 그룹 설정

[RDS] - [데이터베이스] 에서 적용이 필요한 DB 를 선택 후, [수정] 을 선택한다.

 

인스턴스 수정 페이지가 나오는데, 화면을 쭉 내리다 보면 [추가 구성] 영역이 있다.

[데이터베이스 옵션] - [DB 파라미터 그룹] 이 변경한 파라미터 그룹으로 설정되어 있는지 확인 후, 설정되어 있지 않으면 먼저 변경을 해준다.

 

(4) DB 재부팅

인스턴스 수정이 완료가 되면, [RDS] - [데이터베이스] 에서 적용이 필요한 DB 를 선택 후, 재부팅을 해준다.

 

 

 

DB 재부팅 후, character-set 조회 시 utf8 혹은 utf8mb4 로 적용되어 있는 것을 확인 할 수 있다.

 

반응형