[error] springboot, mysql 연동 실패 에러 해결하기 (Failed to initialize JPA EntityManagerFactory: Unable to create requested service) [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Sojin·2024년 9월 5일

에러 해결하기

목록 보기
6/8
post-thumbnail

spring boot로 블로그 페이지를 만들던 중

문제 상황

데이터베이스(mysql)에 연결하기 위해 applicationProperties 에 datasource를 정보를 입력하고 서버 실행을 시켰더니 아래와 같은 에러메시지가 떴다.

ERROR 39388 --- [blogServer][ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: 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)

문제 해결 방법

위와 같은 메시지가 떴을 때 내가 현재 연결하고자 하는 mysql 계정 속 사용자 이름과 비밀번호, 포트번호 등 을 정확히 입력하였는지 확인하여야 한다.

나같은 경우엔 입력된 데이터소스 중

mysql 사용자 이름과 비밀번호를 'root'로 설정하여 오류가 났었다.

대부분 mysql 을 설치할 때 사용자 계정과 비밀번호를 root로 지정 하는 경우가 많다. 나 역시 당연히 비밀번호를 root로 설정했을거라 생각하고 datasource password를 root로 입력해주었고 연결에 실패 하였다.

그러나 위 에러메시지에서 보여주듯 'mysql 계정 비밀번호가 일치하지 않는다.' 라고 콕 찝어 원인을 알려주지 않기 때문에 나와 같은 초보들은 위와 같은 에러 해결에 몇일을 소요 할 수도 있다. 😭


mysql에 설정한 root 사용자의 제대로 된 비밀번호를 다시 datasource에 입력하여 주면 에러 없이 서버가 다시 잘 구동되는 것을 확인할 수 있다.

mysql 계정 비밀번호가 기억나지 않을 때 방법

  1. 삭제 한 뒤 재설치 하여 비밀번호를 새로 설정한다.
  1. 아래 명령어로 mysql root 계정 비밀번호를 초기화 시킨 뒤 새로 변경한다.

    ALTER USER 'root@localhost' IDENTIFIED BY '새로 바꿀 비밀번호 입력' ;

끝!

profile
Dev dreamer

0개의 댓글