DB 설정 문제
269
작성자 없음
작성한 질문수 0
안녕하세요 프로젝트 초기 설정을 토비님 강의 진행대로 따라하고 있는 중입니다.
제가 docker 는 잘 몰라서 강의 자료에 있는 Rancher Desktop 을 그냥 설치했구요
서버 구동하기 전에 먼저 켜고 토비님 강의 순서 대로 진행했습니다 compose.yaml 의 내용을 수정하기 전에는 오류없이 잘 되는데 토비님이 작성하신 대로 수정을 해서 서버를 구동하면 계속 오류가 발생하고 있습니다


제 디비에 문제가 있나 싶어서 mysql를 완전 삭제하고 재설치 까지 해서 다시 해봐도 이전과 계속 같은 오류가 발생하는데 ai 를 통해서 해결
해보려고 해도 해결을 못하고 있습니다
혹시 확인해보시고 알려주셨으면 합니다
답변 4
1
저도 같은 문제를 겪었는데, 제가 찾아본 내용은 로컬에서 이미 MySQL이 3306에서 실행중이라 문제가 됐었습니다!
그래서 저는 3307:3306 으로 진행했어요.
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
안녕하세요.
변경을 하신 뒤에 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 --buildMySQL 로그 확인: 모든 조치 후에도 오류가 발생한다면,
MySQL의 로그를 살펴보는 것도 도움이 될 수 있습니다. 다양한 원인들이 로그에 상세히 기록될 수 있습니다.$ docker logs <container_id>
참고 자료
문의하신 내용에 대해 비슷한 사례를 다룬 강의나 자료를 충분히 조사해보지 못한 경우, 송구스럽게도 이 이상 구체적인 답변을 드리긴 어렵습니다. 잘 해결되지 않을 경우 해당 질문을 강사님께 다시 문의하시는 것도 방법이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
도메인 모델에서 관계와 규칙을 구분하는 방법
0
37
2
헥사고날 아키텍처에서의 배치, 시큐리티, 비동기 이벤트 처리는 어떻게 하나요?
0
115
2
어댑터에서 도메인에 직접 의존하는 경우에 대해
0
116
2
Member 도메인이 PasswordEncoder를 받는 구조 질문 있습니다.
0
103
2
MemberService와 EmailSender 책임 분리에 대한 질문
0
102
2
NonNullApi를 NullMarked로 대체하라고 합니다.
0
123
2
39. 문서와 코드 다듬기 updateInfo 테스트 질문 있습니다.
0
71
2
Repository Adapter 설계에 대해 피드백을 부탁드립니다
0
105
2
헥사고날 part2 강의 출시 예정일 문의 드립니다.
0
244
2
PT 문의사항
0
97
1
초기 어플리케이션 구동 시 compose.yml 파싱 오류
0
147
2
애플리케이션의 JPA 리턴과 도메인 모델
0
125
2
애그리거트 루트의 하위 도메인들의 depth가 깊어질 때 문의
0
133
2
페이징 처리를 해야한다면 어떻게 해야할까요?
0
187
2
애그리거트의 repository
0
116
2
Domain Expert가 정확히 어떤 역할을 하는 사람인가요?
0
228
1
회원 애플리케이션 서비스 테스트 (1)
0
102
2
정적 팩토리 메서드 관련 질문드립니다!
0
103
2
spotbug + @NonNullApi 로만 Null 방어가 될까요?
0
127
2
required 포트에 관해서
0
90
2
혹시 다음 편은 언제쯤 오픈할까요?
0
163
2
서비스 단위 테스트 코드 작성
0
94
2
domain 모듈에 entity를 정의한다고 했을때
0
95
2
여러 엔티티의 조합으로 리포트를 제공해야할 때
0
78
2





