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 로 적용되어 있는 것을 확인 할 수 있다.
'Cloud' 카테고리의 다른 글
[Cloud] 가상머신(Virtual Machine) vs 컨테이너(Container) (0) | 2024.04.08 |
---|---|
[AWS] RDS SQL Server(MS-SQL) Agent Jobs 삭제 (0) | 2022.08.25 |
[AWS] RDS SQL Server(MS-SQL) 백업 및 복원하기 (0) | 2022.08.05 |
[AWS] RDS MySQL Audit Log 설정 (옵션 그룹, CloudWatch) (0) | 2022.07.11 |
[GCP] MySQL Timezone (타임존) 변경 (0) | 2020.11.19 |