티스토리 뷰

Java/Spring

spring boot h2 memtestdb not found 문제

평범한 개발자... 2020. 7. 13. 13:19
h2 Database memtestdb not found

Spring boot의 어떤 예제를 따라하면서 생산성과 빠른 테스트를 위해 h2 db를 사용했다.

gradle에는 아래와 같이 추가되었다.

h2 console 접근 에러

image

 

  • h2 db를 따로 설정하지 않으면 인 메모리 기반으로 db가 생성되어 동작하며, 기본 경로는 mem:testdb라고 명시가 되어있었다.
  • 그러나 위 사진처럼 mem:testdb를 찾을 수 없다는 에러가 발생하였다.

h2 db 버전 문제

  • gradle에는 따로 버전을 명시하지 않았기 때문에, 최신 버전을 사용했다. (2020.07 기준 1.4.2가 최신)

  • 그러나, h2 보안 문제로 testdb를 자동 생성 하지 않도록 1.4.198버전에서 수정되었다.

    TCP Server and H2 Console do not allow creation of new databases by default. (릴리즈노트 참고)

해결방법

  • 해결 방법은 2 가지가 있다.

    • 1.4.198 이전 버전으로 되돌리는 방법
    • 데이터베이스를 생성하는 방법 (최신버전에서 권장하는 방식)

 

  • 첫번째 방법은 maven이나 gradle에 이전 버전을 명시하면 되고,

  • 두번째 방법은 설정파일에 데이터베이스를 설정하는 것이다.

    • 사실 단순히 테스트용으로 개발하는 용도라 굳이 보안에 신경을 쓰지 않아도 되지만, 직접 db를 생성하는 방식으로 해결하려고 한다.

h2 db 설정

  • 간단하게 아래와 같이 url와 계정정보를 설정해주면 된다.

    • username과 password를 설정하지 않으면 비밀번호 없이 sa 계정으로 접속 가능하다.
  • 설정한 정보로 입력하면 로그인에 성공한다. image image
반응형

'Java > Spring' 카테고리의 다른 글

[Spring boot] HTTP API 만들기 - Hello World!  (0) 2021.10.07
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함