카테고리 없음

docker로 말아서 mysql을 쓸 때 한글 관련 설정하기

곽빵 2023. 1. 15. 17:01

개요

한글 데이터를 입력할 시 밑과 같은 이런 문자열을 넣을 수 없습니다 라는 에러가 발생해 docker로 mysql을 쓸 때 어떻게 초기 설정을 해야할까?

Incorrect string value: '\xEC\xA0\x9C\xEB\xAA\xA9' for column 'title' at row 1

my.cnf 란?

mysql의 설정파일로써 아주 다양한 곳에 위치할 수 있으며 위치한 곳에 따라 우선순위가 정해져있다. 이번엔 mysql의 docker container안에 있는 이 my.cnf라는 파일을 변경시켜서 한글 설정을 하고자 한다.

 

docker-compose.yml

version: "3"

services:
  db:
    platform: linux/x86_64 # M1은 5.7 설치를 위해 이렇게 해야한다.
    image: mysql:5.7
    # restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: hwblog
      MYSQL_USER: ghw
      MYSQL_PASSWORD: heewon
    volumes:
      - .dbdata:/var/lib/mysql
      - ./my.cnf:/etc/mysql/conf.d/my.cnf
    ports:
      - 3306:3306

- ./my.cnf:/etc/mysql/conf.d/my.cnf

이 부분이 이번에 추가한 부분이다. 내 로컬에 있는 my.cnf를 도커 컨테이너 안에 바꿔 끼우겠다 라는 명령어이다.

 

내 로컬 my.cnf

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

[client]
default-character-set=utf8mb4