[H2 Database] H2 데이터베이스 파일 생성과 서버 모드 접속 방법

2025. 8. 19. 19:17·Database/H2 Database
반응형

H2 데이터베이스는 임베디드 모드와 서버 모드 두 가지 방식으로 실행할 수 있습니다.


처음 사용하다 보면

Database not found, either pre-create it or allow remote database creation ...

와 같은 오류가 뜰 수 있는데,

 

이는 DB 파일 생성 과정을 거치지 않아서 발생하는 경우가 많습니다.

 

이번 글에서는 H2 데이터베이스 파일을 생성하고, 서버 모드로 접속하는 과정을 정리해보겠습니다.


1. 데이터베이스 파일 생성 (최초 1회)

먼저 임베디드 모드로 접속해 DB 파일을 생성합니다.

jdbc:h2:~/jpashop

위와 같이 접속하면, H2가 자동으로 DB 파일을 생성합니다.

 

📌 생성된 파일 확인

  • 홈 디렉토리(~) 경로에 jpashop.mv.db 파일이 생깁니다.
  • 이 파일이 실제 H2 데이터베이스 파일입니다.

 


2. 서버 모드로 접속하기

DB 파일이 생성된 이후부터는 서버 모드로 접속할 수 있습니다.

 

"연결 끊기" 버튼을 클릭하여

1에서 먼저 임베디드 모드에서 접속한 세션을 종료합니다.

 

 

이후 새로운 세션을 열고 URL 을 아래와 같이 입력합니다.

jdbc:h2:tcp://localhost/~/jpashop


 

3. 왜 서버 모드를 사용하는가?

임베디드 모드는 하나의 프로세스에서만 DB 파일을 열 수 있습니다.
따라서 애플리케이션을 실행하면서 동시에 H2 웹 콘솔을 띄우면 충돌이 발생할 수 있습니다.

 

반면 서버 모드는 DB를 TCP로 띄워두기 때문에,

  • 애플리케이션
  • H2 웹 콘솔

두 곳에서 동시에 접속이 가능합니다.


정리

  1. jdbc:h2:~/test → 최초 1회 실행 (DB 파일 생성)
    • 홈 디렉토리에 test.mv.db 파일 확인
  2. jdbc:h2:tcp://localhost/~/test → 이후 서버 모드 접속
    • 애플리케이션 + 웹 콘솔 동시 사용 가능

👉 따라서, 처음에는 임베디드 모드로 DB 파일을 생성한 뒤, 서버 모드로 접속하는 것이 안정적입니다.

반응형

'Database > H2 Database' 카테고리의 다른 글

[H2 Database] H2 데이터베이스 설치 방법  (0) 2025.04.07
[H2 Database] 스프링 부트와 H2 데이터베이스: 인메모리 RDBMS의 장점과 활용  (0) 2024.06.07
'Database/H2 Database' 카테고리의 다른 글
  • [H2 Database] H2 데이터베이스 설치 방법
  • [H2 Database] 스프링 부트와 H2 데이터베이스: 인메모리 RDBMS의 장점과 활용
Kim-SooHyeon
Kim-SooHyeon
개발일기 및 알고리즘, 블로그 운영에 대한 글을 포스팅합니다. :) 목표: 뿌리 깊은 개발자 되기
    반응형
  • Kim-SooHyeon
    soo_vely의 개발로그
    Kim-SooHyeon
  • 전체
    오늘
    어제
    • 분류 전체보기 (254) N
      • 알고리즘 (108)
        • 자료구조 (3)
        • Java (104)
        • Python (1)
      • Back end (70)
        • Spring Project (27)
        • Java (21)
        • API (1)
        • Python (0)
        • Django (3)
        • Linux (1)
        • 서버 (2)
        • 에러로그 (11)
        • 부스트 코스 (1)
      • Front end (9)
        • HTML, CSS (4)
        • JavaScript (4)
        • JQuery (0)
      • 기타 프로그래밍 (4)
        • Android Studio (1)
        • Arduino (2)
        • Azure Fundamental(AZ-900) (1)
      • 개발도구 (24) N
        • IntelliJ (2) N
        • Git (12)
        • SVN (0)
        • Eclipse (2)
        • 기타 Tool (8)
      • Database (16)
        • Oracle (10)
        • MySQL (0)
        • H2 Database (3)
        • ORM & JPA (1)
      • 자격증 (10)
        • 컴활 1급 (7)
        • 컴활 2급 (2)
        • SQLD (1)
      • 기타 (13)
        • 블로그 운영 (6)
        • 문서 (1)
        • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Git
    solved.ac
    springboot
    java
    단계별풀기
    spring
    BOJ
    Oracle
    for문
    오라클
    1차원 배열
    문자열
    백준알고리즘
    백준 자바
    구현
    github
    알고리즘
    백준
    jpa
    배열
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Kim-SooHyeon
[H2 Database] H2 데이터베이스 파일 생성과 서버 모드 접속 방법
상단으로

티스토리툴바