도커에서 mysql 한글 깨짐 해결법

jinhan han·2024년 10월 18일
0

풀스택 개발 세팅

목록 보기
4/4
post-thumbnail

1. 도커에서의 mysql 컨테이너 설정

command와 volumes 설정으로 UTF8 인코딩

services:
  db:
    image: mysql:8.0  # MySQL 8.0 사용
    container_name: mysql_db_306
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_DATABASE: ${DB_NAME}
      # 문자셋과 정렬 방식 설정
      MYSQL_INITDB_SKIP_TZINFO: "1"
    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
    ports:
      - "3306:3306"
    volumes:
      - ./my.cnf:/etc/mysql/conf.d/my.cnf  # MySQL 설정 파일 마운트
      - db_data:/var/lib/mysql
    networks:
      - fastapi_network

2. MySQL 문자셋 설정:

MySQL에 접속:

1. mysql 컨테이너에 접속

PS C:\Users\USER\Documents\github\python\fast_api_practice> docker exec -it mysql_db_306 bash

2. mysql 접속

bash-5.1# mysql -u root -p --default-character-set=utf8mb4

추가 정보 확인법

MySQL의 UTF-8 인코딩 문자셋 설정 확인법:

SHOW VARIABLES LIKE 'character_set%';

character_set_client, character_set_connection, character_set_database 등이 모두 utf8mb4로 설정되어 있는지 확인하세요.

profile
개발자+분석가+BusinessStrategist

0개의 댓글