작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
151
0
안녕하세요 프로젝트 초기 설정을 토비님 강의 진행대로 따라하고 있는 중입니다.
제가 docker 는 잘 몰라서 강의 자료에 있는 Rancher Desktop 을 그냥 설치했구요
서버 구동하기 전에 먼저 켜고 토비님 강의 순서 대로 진행했습니다 compose.yaml 의 내용을 수정하기 전에는 오류없이 잘 되는데 토비님이 작성하신 대로 수정을 해서 서버를 구동하면 계속 오류가 발생하고 있습니다
제 디비에 문제가 있나 싶어서 mysql를 완전 삭제하고 재설치 까지 해서 다시 해봐도 이전과 계속 같은 오류가 발생하는데 ai 를 통해서 해결
해보려고 해도 해결을 못하고 있습니다
혹시 확인해보시고 알려주셨으면 합니다
답변 4
0
기존 pc에 mysql DB가 설치되어있다면, docker-compose.yml 포트를 변경해주세요.
이 후 터미널 환경에 들어가 아래 명령어로 기존 컨테이너를 삭제해 주세요.
-- 도커 프로세스 확인 (안보이면 아래 참고)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f13daa6f6b51 mysql:latest "docker-entrypoint.s…" 21 seconds ago Up 20 seconds 0.0.0.0:3306->13306/tcp, [::]:3306->3306/tcp splearn-mysql-1
-- 도커 프로세스 멈추기
$ docker stop splearn-mysql-1
splearn-mysql-1
-- 죽은 프로세스 삭제
$ docker rm -f splearn-mysql-1
splearn-mysql-1
------------------------------------------------------------------------------------
-- # 만약 도커 프로세스 보이지 않을 경우 프로세스 전체 확인
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
baf5f296ec49 mysql:latest "docker-entrypoint.s…" About a minute ago Exited (0) About a minute ago splearn-mysql-1
-- # 죽은 프로세스 삭제
$ docker rm -f splearn-mysql-1
splearn-mysql-1
이 후 인텔리제이 우상단 SplearnApplication stop 버튼 클릭
이 후 인텔리제이 우상단 SplearnApplication start 버튼 클릭
0
0
안녕하세요.
변경을 하신 뒤에 mysql docker container를 down 시키고 다시 애플리케이션을 시작 해보셨나요? 그래야 compose.yaml의 변경 사항이 반영이 됩니다. 그래도 잘 안 되면 해당 container를 제거하시고 다시 시작해보세요.
터미널에서 하는 게 익숙하지 않으시면 IntelliJ의 docker 뷰에서 하셔도 충분합니다.
그래도 잘 안 되면 알려주세요.
0
안녕하세요, 인프런 AI 인턴입니다.
IGOR님께서 Docker Compose를 이용하여 MySQL 서비스를 설정하는 과정에서 발생하는 문제에 대해 질문을 주셨습니다. 제공해주신 로그와 설명을 바탕으로 주요 원인과 해결 방법을 도와드리겠습니다.
현재 문제는 SQLState 28000
에러, 즉 “사용자 인증 실패”로 보입니다. 이 에러 메세지는 MySQL 서버에 연결을 시도할 때 올바르지 않은 사용자 이름 또는 비밀번호를 사용한 경우 발생합니다. Access denied for user 'spring'@'localhost'
메세지는 ‘spring’ 유저가 방화벽 설정이나 사용 권한 문제로 인해 정상적으로 인증되지 못한 경우를 나타냅니다.
환경 변수 확인: compose.yml
파일에서 설정한 환경 변수를 다시 확인해 보세요. 특히 MYSQL_USER
, MYSQL_PASSWORD
, MYSQL_ROOT_PASSWORD
의 값이 MySQL에 설정된 값과 일치하는지 확인이 필요합니다. 인용해 주신 구성에서 MYSQL_USER
는 spring
으로, 그리고 MYSQL_PASSWORD
는 secret
으로 설정되었습니다. 해당 사용자와 비밀번호가 MySQL 내에서도 정확한지 확인해 보세요.
유저 권한 설정 확인: MySQL에 제대로 연결하기 위해 해당 사용자가 권한이 부여되어 있는지 확인하세요. 터미널에서 다음과 같은 명령어를 통해서 사용자의 권한을 확인할 수 있습니다:
$ mysql -uroot -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%' IDENTIFIED BY 'secret';
mysql> FLUSH PRIVILEGES;
Docker Compose 컨테이너 초기화: 데이터베이스 설정이 올바르게 초기화되지 않았을 수 있습니다. 다음 명령어를 사용하여 기존 컨테이너와 네트워크를 삭제하고 재구성해 보길 바랍니다.
$ docker-compose down
$ docker-compose up --build
MySQL 로그 확인: 모든 조치 후에도 오류가 발생한다면, MySQL
의 로그를 살펴보는 것도 도움이 될 수 있습니다. 다양한 원인들이 로그에 상세히 기록될 수 있습니다.
$ docker logs <container_id>
문의하신 내용에 대해 비슷한 사례를 다룬 강의나 자료를 충분히 조사해보지 못한 경우, 송구스럽게도 이 이상 구체적인 답변을 드리긴 어렵습니다. 잘 해결되지 않을 경우 해당 질문을 강사님께 다시 문의하시는 것도 방법이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.