인프런 커뮤니티 질문&답변

이승욱님의 프로필 이미지
이승욱

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] AWS EC2에 Spring Boot 배포하기

Access denied for user ‘root’@’localhost’ (using password:YES)

작성

·

95

·

수정됨

0

compose.yml

services:

instagram-server:

image: 420787877062.dkr.ecr.ap-northeast-2.amazonaws.com/instargram-server

ports:

- 8080:8080

depends_on:

my-db:

condition: service_healthy

my-cache-server:

condition: service_healthy

my-db:

image: mysql

environment:

MYSQL_ROOT_PASSWORD: 00000000

MYSQL_DATABASE: mydb

volumes:

- ./mysql_data:/var/lib/mysql

ports:

- 3306:3306

healthcheck:

test: [ "CMD", "mysqladmin", "ping" ]

interval: 5s

retries: 10

my-cache-server:

image: redis

ports:

- 6379:6379

healthcheck:

test: [ "CMD", "redis-cli", "ping" ]

interval: 5s

retries: 10

 

이렇게 yml을 설정하고

docker inspect 명령어를 사용하여 mysql 정보를 gpt 한테 물어봤더니 아래와 같은 답변이 있었습니다.

 

현재 MySQL 컨테이너의 상태는 “healthy”로 보이며, 전체적으로 Docker Compose 설정이 잘 작동하고 있다. 하지만 MySQL의 Healthcheck가 Access denied for user 'root'@'localhost' (using password: YES) 오류 메시지를 출력하고 있다. 이는 MySQL이 root 사용자로 접속을 시도할 때 비밀번호 인증에 실패했다는 것을 의미한다.

 

이를 해결하기 위해서, 비밀번호를 ' 로 감싸서 String으로 인식하도록 유도 하기도 했지만 여전히 문제는 해결되지 않고 있습니다.

 

구글링을 해본 결과 도커 볼륨과 연관있는 것 같지만 정확한 이유를 모르겠습니다.

 

답변 1

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 승욱님! 질문 잘 주셨어요:)

말씀해주신 에러 상황에 대해서는 원인이 다양할 수 있습니다.

지금 짐작되는 에러가 하나 있어서 아래 조치 먼저 시도해보시기 바랍니다.

 

volume으로 설정한 mysql_data 폴더를 삭제하신 뒤에

다시 docker-compose를 기반으로 컨테이너를 띄워보시기 바랍니다!

(삭제하시기 전에 볼륨에 저장된 데이터가 삭제돼도 괜찮은 지 체크하시고 삭제하시기 바랍니다!)

 

위와 같이 조치를 했는데도 똑같이 Acesss denied~ 에 관련된 에러가 나온다면

답변 한 번만 남겨주세요~~

 

 

이승욱님의 프로필 이미지
이승욱

작성한 질문수

질문하기