Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

한바다

Mysql Dialect 설정 에러 본문

aws

Mysql Dialect 설정 에러

한바다진화 2024. 9. 4. 14:25

✅ Mysql Dialect 설정 에러

aws에서 mysql명령어 설치후 FTP용 fileZlia 에서 build파일을 서버로 옮긴 후

aws에서 java -jar snapshot.jar 명령어 실행시 아래와 같은 오류 발생 하였다

마지막 줄 에러 메세지부터 살펴 보았다

(오류 코드)

Caused by: org.hibernate.HibernateException: Unable to determine Dialect without JDBC 
metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 
'hibernate.dialect' when a custom Dialect implementation must be provided)

(오류 해석)

org.hibernate.HibernateException: JDBC 메타데이터 없이 Dialect를 결정할 수 없습니다.
'jakarta.persistence.jdbc.url'을 설정하고 사용자 정의 Dialect 구현을 제공해야 하는 경우에는 'hibernate.dialect'를 설정하십시오).

(오류코드)

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 
'entityManagerFactory' defined in class path resource 
[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: 
Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 
due to: Unable to determine Dialect without JDBC metadata 
(please set 'jakarta.persistence.jdbc.url' for common cases or 
'hibernate.dialect' when a custom Dialect implementation must be provided)

(오류해석)

org.springframework.beans.factory.BeanCreationException: 클래스 경로 리소스에 정의된 이름이
'entityManagerFactory'인 Bean을 생성하는 중 오류가 발생했습니다. 요청된 서비스를 생성할 수 없습니다. 
JDBC 메타데이터 없이 Dialect를 결정할 수 없습니다(일반적인 경우에는 'jakarta.persistence.jdbc.url'을 설정하고 사용자 정의 Dialect 구현을 제공해야 하는 경우에는 'hibernate.dialect'를 설정하십시오) )

 

▶ 위 오류를 바탕으로 아래 내용을 확인해야 겠다

JDBC 메타데이터 없이 Dialect를 결정할 수 없습니다.
'jakarta.persistence.jdbc.url'을 설정하고 사용자 정의 Dialect 구현을 제공해야 하는 경우에는 'hibernate.dialect'를 

설정하십시오

 

[에러 해결방안]

aws확인 시 아래와 같이 jdbc경로에 포트 번호는 34.227.26.11로 되어 있으나 

aws에서 아래 코드를 출력하기 위한 명령어이다

우선, find명령어를 통해 application.properties파일이 어디에 있는지 확인한다

find / -name "application.properties"

/home/ec2-user/build/resources/main/application.properties 경로에 있다는 것을 알게 되었고

cd /home/ec2-user/build/resources/main/

그리고 파일내용을 cat 명령어로 파일 내용을 확인한다!

cat application.properties

 

awc에 생성한 나의 인스턴스 public번호는 54.86.117.98로 번호가 상이 하였다!

이 두개의 번호가 일치하면 에러가 해결될 듯 보여 새로 인스턴스를 생성해서 진행해보기로 한다!

 

-새로 인스턴스를 생성하여 위 포트번호를 맞춰줬는데 동일한 에러가 발생하였다!!

[에러 해결!!!]

첫번째, sql 명령어 잘못 입력!!

(수정 전)

GRANT ALL PRIVILEGES ON database_name.* TO 'Sixsence'@'%'

(수정 후)

GRANT ALL PRIVILEGES ON Sixsence.* TO 'Sixsence'@'%';

▶ database_name을 그대로 냅둔게 화근이였다

 

두번째, application.properties 파일에서 hibernate.dialect를 명시적으로 추가 해야 한다!

MySQL을 사용하는 경우, 아래와 같이 설정한다!!

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

▶ 코드를 변경해줬으니 FTP파일에 전송된 기존 buid파일을 삭제하고 변경된게 반영된 build파일을 전송해줬다!!

     (build파일 변경!!)

▶ aws에 포트 9090추가.. 이미 되어 있는줄 알았는데 포트가 추가되어 있지 않았다!! 보안그룹에서 인바운드규칙 편집에 

     서 포트 9090을 추가 해준 후

public 번호와 포트번호로 합쳐진 아래 url에서 실행시 그렇게 보고 싶었던!! 아래 화면이 나왔따!!!

http://44.204.24.78:9090/

 

'aws' 카테고리의 다른 글

[배포]mySql 복제  (2) 2024.09.05
[배포]명령어 정리, awc mysql  (2) 2024.09.03
[배포]aws에 git프로젝트 올리기  (0) 2024.09.02