MySQL 8 on docker


MySQL 최신버전(8.0.13)을 docker container로 실행했더니 접속시 오류가 발생했다.

Authentication plugin ‘caching_sha2_password’ cannot be loaded:

MySQL 8 이상에서는 SHA-256 으로 사용자 계정의 암호를 설정할 수 있고
caching_sha2_password 는 authentication 시에 서버측에서 캐싱을 하기 위한 모듈이다.
그런데 현재 대부분의 mysql client는 (구버전인 이유로) caching_sha2_password 모듈이 존재 하지 않는다.

--default-authentication-plugin=mysql_native_password 옵션을 추가해서 기본 authentication 설정을 바꾸어주면 이전 버전의 MySQL 처럼 접속 할 수 있다.

 

PASSWORD: password

docker run -d --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql --default-authentication-plugin=mysql_native_password 

 

Empty PASSWORD

docker run -d --name some-mysql -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql --default-authentication-plugin=mysql_native_password 

 

Empty PASSWORD & Binding localhost

docker run -d --name some-mysql -p 127.0.0.1:3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql --default-authentication-plugin=mysql_native_password 

 

MySQL with docker volume

docker volume create mysql
docker run -d --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -v mysql:/var/lib/mysql mysql

'개발 > docker' 카테고리의 다른 글

RabbitMQ on Docker  (0) 2023.06.05
Redis on docker  (0) 2018.08.13
Running RabbitMQ on docker  (0) 2017.12.19
docker ubuntu apt 미러 서버 교체하기  (1) 2017.07.08

+ Recent posts