my.cnf에서 MySQL 기본 문자 집합을 UTF-8로 변경하기
MySQL에서 한글이나 이모지 등 다국어 데이터를 올바르게 저장하려면 기본 문자 집합(character set)을 UTF-8로 설정하는 것이 좋습니다. 이 글에서는 MySQL의 설정 파일인 my.cnf(Windows 환경)를 찾아 문자 집합을 변경하는 전체 과정을 단계별로 안내합니다.
1단계: my.cnf 파일 위치 찾기
가장 먼저 my.cnf 파일이 저장된 경로로 이동해야 합니다. Windows 환경에서는 일반적으로 C 드라이브 아래의 ProgramData 폴더에 위치합니다. 파일 탐색기를 열고 C 드라이브로 진입한 뒤 'ProgramData' 폴더를 클릭합니다.

2단계: MySQL 폴더로 이동
ProgramData 폴더 안에서 MySQL 폴더를 찾아 클릭합니다. ProgramData 폴더는 숨김 폴더로 지정되어 있을 수 있으므로, 목록에 보이지 않는다면 탐색기 상단의 '보기' 옵션에서 '숨긴 항목'을 활성화하세요.

3단계: MySQL Server 8.0 폴더 열기
MySQL 폴더 안에는 설치된 서버 버전별 하위 폴더가 있습니다. 여기서는 MySQL Server 8.0 폴더를 클릭하여 엽니다.

4단계: my.cnf 파일 확인
MySQL Server 8.0 폴더에 들어가면 my.cnf 파일의 실제 위치를 확인할 수 있습니다. 이 파일이 MySQL 서버의 전역 설정을 담당하는 핵심 구성 파일입니다.

5단계: 파일을 열어 문자 집합 설정 확인
my.cnf 파일을 텍스트 편집기(메모장 등)로 열면 현재 적용 중인 character-set 관련 설정 내용을 확인할 수 있습니다. 기본 상태에서는 latin1 등 다른 문자 집합이 지정되어 있거나 해당 항목이 없을 수도 있습니다.

6단계: 문자 집합을 UTF-8로 변경
이제 파일 내용을 수정하여 문자 집합을 utf8로 변경합니다. [mysqld] 섹션에 아래와 같은 설정을 추가하거나 수정하면 됩니다.
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4참고로 최신 MySQL 8.0 버전에서는 완전한 UTF-8 구현인 utf8mb4 사용을 권장합니다. utf8mb4는 이모지(4바이트 문자)까지 모두 지원하므로, 특별한 사유가 없다면 utf8 대신 utf8mb4를 선택하는 것이 안전합니다.
변경 사항 적용 및 확인
설정 파일을 저장한 후에는 변경 사항을 적용하기 위해 MySQL 서버를 재시작해야 합니다. Windows 서비스 관리자나 명령 프롬프트에서 아래 명령으로 재시작할 수 있습니다.
net stop mysql80
net start mysql80서버 재시작 후 정상적으로 적용되었는지 확인하려면 MySQL 콘솔에서 다음 쿼리를 실행해 보세요.
SHOW VARIABLES LIKE 'character_set%';결과에서 character_set_server 등 주요 항목이 utf8mb4로 표시되면 성공적으로 변경된 것입니다. 이제 새로 생성되는 데이터베이스와 테이블은 별도 지정이 없는 한 UTF-8 문자 집합을 기본으로 사용하게 됩니다.