작성
·
105
·
수정됨
0
제가 Express를 잘 다루지 못해 SpringBoot로 RDS 연결을 하려고 하는데 계속 오류가 발생합니다.
DBeaver까진 잘 연동되고 seohaen이라는 DB도 새로 만들어주었습니다.
SpringBoot에서도 DB는 잘 연동되는데 이상하게 Run만 하면 오류가 발생하네요
혹시 몰라서 yml 파일과 build.gradle 첨부합니다!
application.yml
server:
port: 80
management:
endpoints:
web:
exposure:
include: health
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://seohaen-db.cti8ki...(RDS 엔드포인트 넣었습니다)3306/seohaen(DBeaver에서 새로 만든 DB이름을 넣었습니다.)
username: RDS에서 설정한 이름
password: RDS에서 설정한 비밀번호
jpa:
show-sql: true
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
open-in-view: false
database-platform: org.hibernate.dialect.MySQL8Dialect
build.gradle
dependencies {
// 헬스 체크를 위한 라이브러리
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
//RDS
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.mysql:mysql-connector-j'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
오류내용
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2025-06-04T21:38:09.446+09:00 ERROR 6699 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
답변 3
1
오류를 해결했습니다!
혹시 EC2 인스턴스를 통해 SpringBoot를 배포하여 테스트를 하지않고, 로컬에서 스프링 부트로 RDS만 연결해서 로컬 서버에서 간단한 html을 만들어 유저가 저장될 수 있도록 로직을 작성한 뒤, 값을 넣었습니다.
이후 디비버에서 저런식으로 값이 들어왔다면 잘 연동되었다고 할 수 있을까요?
0
안녕하세요 냠냠님! 질문 잘 해주셨습니다:)
보여주신 이미지를 보니 DB와 연동이 잘 된 것 같습니다~!!
에러를 잘 해결하신 것 같네요!
혹시 또 수업 들으시다가 막히시는 부분 있으면 질문 남겨주세요~~
CI/CD 강의를 먼저 수강하셔서 적용시켜보시는 걸 추천드립니다! 이 때, CI/CD 강의에서 Docker를 활용하는 부분에 대한 강의는 keep 해두신 채로 들으시기 바랍니다. 그런 뒤에 Docker 강의를 수강하시고, 그 이후에 CI/CD 강의에서 Docker를 활용하는 부분을 마저 들으시는 걸 추천드립니다~!!
이 로드맵에 신입 백엔드 개발자가 갖추어야 할 역량들을 정리해뒀습니다~!! 이 로드맵 참고하시면 도움되시지 않을까 싶어요:)
또 궁금하신 점 있으시면 질문 해주세요ㅎㅎㅎ
nginx를 생략하신 채로 aws -> cicd -> docker로 들으셔도 괜찮습니다~!!
nginx는 나중에 필요하다고 생각될 때쯤에 수강하셔도 크게 문제되지 않습니다:)
0
안녕하세요, 인프런 AI 인턴입니다. 냠냠님! Spring Boot 애플리케이션에서 RDS(MySQL) 연결 관련 오류로 고민이 많으신 것 같습니다. 문제를 해결하기 위해 몇 가지 확인 사항을 점검해 보도록 하겠습니다.
오류 메시지에 따르면, 데이터 소스를 설정하는 과정에서 URL 속성이 지정되지 않아 적절한 드라이버 클래스를 찾지 못했다고 합니다. URL 속성이 문제의 핵심이 될 수 있습니다.
application.yml
파일의 spring.datasource.url
의 형식을 확인하세요. jdbc
문자열이 제대로 설정되어 있어야 합니다. 일반적인 MySQL 연결 URL 예시는 다음과 같습니다: jdbc:mysql://<RDS_ENDPOINT>:3306/<DB_NAME>?useSSL=false&serverTimezone=UTC
위 형식에서 <RDS_ENDPOINT>
와 <DB_NAME>
이 올바르게 적혀 있는지 꼭 확인 바랍니다.
MySQL 드라이버 의존성 설치 확인:
build.gradle
파일에서 MySQL 커넥터 의존성이 제대로 설정되어야 합니다. 이미 runtimeOnly 'com.mysql:mysql-connector-j'
를 사용 중이시네요. 이 설정은 문법상으로는 문제가 없어 보입니다.
프로파일 설정 및 활성화 확인:
만약 특정 프로파일에서만 데이터베이스 설정을 불러오려고 한다면, 애플리케이션 실행 시에 해당 프로파일을 활성화해야 합니다.
EC2와 RDS 보안 그룹 확인:
포트 3306이 EC2와 RDS 간의 통신에 적절히 열려 있는지 보안 그룹 설정을 확인하세요. RDS 및 EC2 인스턴스 간의 연결에 필요한 포트가 열려 있어야 합니다.
로그 및 디버그 모드 확인:
debug
모드로 애플리케이션을 실행하여 더 구체적인 오류 메시지를 확인하세요.
다음 링크에서 유사한 문제 해결 사례를 확인해 보실 수 있습니다:
이러한 점들을 검토해보시면 문제 해결에 한 걸음 더 다가설 수 있을 것입니다. 추가적으로 궁금한 점이나 다른 이슈가 있으시면 언제든지 질문해 주세요!
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강사님 답변 감사합니다!
올린 질문과 별개로 강의 순서에 두 가지 궁금한 점이 있는데 혹시 답변해주실 수 있나요?
1.AWS 수강 이후에 Docker와 CICD 공부를 한 뒤 자동 배포까지 해볼 예정인데 Docker와 CICD중 어떤 강의를 먼저 듣는 걸 추천하시나요?
신입 백엔드 개발자로서 Docker와 CICD, AWS 지식을 쌓은 뒤, 또 쌓아야할 기술 스택이 있을까요? (ex. 프론트엔드 개발(react), Redis 등)