You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成H2内存数据库:H2控制台登录验证问题

解决Spring Boot H2控制台登录失败问题

问题原因

Spring Boot启动时,若未显式配置数据库密码,会自动生成随机安全密码;同时H2嵌入式内存库的JDBC URL也会随机生成。登录H2控制台时,若使用默认的SA空密码+默认URL,会和实际运行的数据库实例信息不匹配,导致登录失败。

解决方案

方案1:配置固定的H2连接信息(推荐)

在application.properties或application.yml中添加以下配置,固定数据库凭证和URL,避免每次启动随机生成:

application.properties 配置

# H2数据库核心配置
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=SA
spring.datasource.password=
# 启用H2控制台并指定访问路径
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

application.yml 配置

spring:
  datasource:
    url: jdbc:h2:mem:testdb
    driver-class-name: org.h2.Driver
    username: SA
    password: ""
  h2:
    console:
      enabled: true
      path: /h2-console

配置完成后重启应用,访问H2控制台时用用户名SA、空密码、URLjdbc:h2:mem:testdb即可登录。

方案2:使用控制台输出的随机信息临时登录

如果不想修改配置,直接使用控制台输出的实际数据库信息登录:

  • 用户名:SA(控制台日志中user=SA字段)
  • 密码:控制台日志中自动生成的安全密码 dab22a6d-fca6-4e5d-9796-8f4d30c2c9b5
  • JDBC URL:控制台日志中url=jdbc:h2:mem:d48ab7e7-383a-4245-846e-d273ef5237bd
    将以上三个信息准确填入H2登录页面的对应输入框,即可成功登录。

方案3:关闭自动生成安全密码(可选)

若不想让Spring Boot自动生成随机密码,可添加配置禁用该功能:

application.properties 配置

spring.security.user.password=

application.yml 配置

spring:
  security:
    user:
      password: ""

内容的提问来源于stack exchange,提问作者Bogdan Udrea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:43:22