Docker로 MySQL 사용시 한글 에러 해결 방법

MySQL(5.7 버전)에서 한글 깨지는 문제 해결 방법

Create Database 및 Create Table에 UTF8 지정

1
2
CREATE DATABASE `testdb` 
default charset=utf8 collate utf8_general_ci;
1
2
3
4
5
6
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
default charset=utf8 collate utf8_general_ci;

Docker로 MySQL 컨테이너 실행 (Windows Power Shell 실행시)

1
2
3
4
5
6
7
8
docker run -d `
--network todo-app --network-alias mysql `
-v todo-mysql-data:/var/lib/mysql `
-e MYSQL_ROOT_PASSWORD=secret `
-e MYSQL_DATABASE=todos `
mysql:5.7 `
--character-set-server=utf8 `
--collation-server=utf8_general_ci

Docker-Compose 사용시 (docker-compose.yml)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: "3.8"

services:
mysql:
image: mysql:5.7
volumes:
- todo-mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: todos
command:
- --character-set-server=utf8
- --collation-server=utf8_general_ci


volumes:
todo-mysql-data:

유용한 Open API