DevOps

[docker-compose] mysql 셋팅 참고

Hyo Kim 2023. 9. 26. 18:39
728x90
반응형

초기 데이터 셋팅

volumes:
  - ./mysql/init:/docker-entrypoint-initdb.d

docker-entrypoint-initdb.d에 ./mysql/init 디렉토리에 있는 sql 파일을 추가한다.

이미지 실행 시 자동으로 해당 SQL 스크립트를 읽어서 세팅한다.

 

 

 

한글깨짐방지

command:
  - --skip-character-set-client-handshake
  - --character-set-server=utf8mb4
  - --collation-server=utf8mb4_unicode_ci

--skip-character-set-client-handshake

클라이언트와 관계없이 '--character-set-server'에서 지정한 문자집합을 기본으로 한다.

이게 없다면, 클라이언트의 시스템 인코딩을 사용하게 되어 OS마다 인코딩이 달라질 수 있다.

--character-set-server=utf8mb4

기본 문자열을 utf8mb4로 한다.

mb3는 이제 사용하지 않는다. mb4는 이모지까지 지원한다.

 

--collation-server=utf8mb4_unicode_ci

문자셋 정렬 알고리즘을 지정해준다.

8.0부터 기본 collation이 utf8mb4_0900_ai_ci로 됐다.

차이점은, 0900은 악센트도 구분하지 않고, 최신 유니코드 대조 알고리즘을 사용한다.

 

728x90
반응형