본문 바로가기
springboot

[토이프로젝트] h2-console mv.db 오류 해결

by 개발LOG 2024. 2. 11.

localhost:9091/h2-console로 접속해서 연결 누르니까 아래와 같이 local.mv.db파일이 없다고 나온다.

springboot 2점대는 수동으로 mv.db파일을 만들어줘야 한다.

 

 

h2 console 엔진 버튼 우클릭해서 create database를 클릭해서 아래와 같이 db파일을 만들어 준다.

 

그럼 local.mv.db파일이 생성되었다.

(혹시나 jdbc:h2:~/test라고 했으면 test.mv.db파일을 생성해야 한다.

그러므로 Database Path : C:\Users\chg11\test 라고 적어줘야 한다. 그러면 저 경로에 test.mv.db 파일이 생긴다.)

 

다시 연결 test누르니까 아래와 같이

지원되지 않는 데이터베이스 파일 버전 또는 "C:/Users/chg11/local.mv.db" 파일의 잘못된 파일 헤더

오류가 뜬다.

 

 

검색해 보니 수동으로 생성한 뒤에는

이렇게 변경한 뒤 

jdbc:h2:tcp://localhost/~/local로 접속해야 한다고 나온다.

 

드디어 h2 진입 성공!!!

너무 힘든 과정이다.

나중에 시큐리티 적용할 땐 config 설정해줘야 해서 또 복잡하다.

일단 성공.,

--------------------------------------------------------------------------------------------------------------------------

근데 다음날 다시 접속해보니 안 되길래 local.mv.db파일이랑 local.trace.db 파일을 삭제하고

pplication.properties파일을 다시 아래와 같이 수정한 뒤 접속했더니 db파일이 자동으로 생성되면서 h2-console에 연결되었다. 분명 어제는 따로 db파일을 생성했어야 했는데 왜 다음날은 그냥 만들어지고 연결이 되는거지?

h2 데이터베이스는 따로 설치 안해도 되어서 좋기는 한데 접속과정이 꽤 귀찮다.

 

나중에 스프링 시큐리티랑 연동하면 또 설정을 해줘야 한다......

server.port=9091

# DATABASE
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:~/local
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

# JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
#create-drop

 

참고링크: https://blog.naver.com/jtcjtc/223117129981