docker pull mysql:5.7
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=사용할비밀번호 --name=사용할컨테이너이름 mysql5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
3306
입니다. 여러개의 mysql 을 만들시 에는 3307:3306, 3308:3306...
이런식으로 만들어주면 됩니다.mySQL을 실행해보면 locale이 기본적으로 latin1
입니다. utf8mb4
로 바꿔주기 위해 뒤에 명령어 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
를 추가했습니다.
locale(로케일, 로캘) 이란?
docker ps
대시보드를 통해서도 확인할 수 있습니다.
docker exec -it 생성한컨테이너이름 bash
도커의 MySQL 이미지는 리눅스에 설치된 MySQL이기 때문에 컨테이너에 접속하면 root@~:
로 리눅스 터미널의 프롬프트가 나타납니다. 여기서 MySQL서버에 접속해 줍니다.
mysql -u root -p
다음에 Enter password:
가 뜨면 컨테이너 생성할 때 입력한 비밀번호
를 입력해줍니다.
리눅스 명령어를 사용해야 한다면 exit
명령어로 MySQL을 종료하면 됩니다.
mysql> set names utf8mb4;
컨테이너를 생성할 때 client
와 Conn.
은 바꿔주지 않아서 추가로 바꿔줍니다.
Docker기반의 MySQL 설치 및 기본 사용법
Docker Mysql 인코딩 해결
맥 docker에 mysql 설치 & character set 설정 locale 설정
MySQL 데이터베이스의 characterset 언어를 UTF8로 변경하기