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

如何以独立服务器模式运行H2 DB并自定义用户名/密码?

嘿,我之前刚好从嵌入式H2切换到独立TCP模式,给你整理了一套实操步骤,包括修改默认的用户名密码,亲测好用:

启动H2独立TCP服务器

别直接双击bin目录里的h2.bat/h2.sh打开控制台,咱们得用命令行带参数启动TCP服务:

  • Windows系统:打开命令提示符,进入H2的bin目录,执行
    h2.bat -tcp -tcpPort 9092 -tcpAllowOthers
  • Linux/Mac系统:打开终端,进入H2的bin目录,执行
    ./h2.sh -tcp -tcpPort 9092 -tcpAllowOthers

参数说明:

  • -tcp:明确启动TCP服务器模式
  • -tcpPort 9092:指定服务端口(默认就是9092,也可以改成你需要的端口)
  • -tcpAllowOthers:允许其他客户端/机器连接,要是只本地用可以不加这条,但你要其他客户端连的话必须加上
修改默认用户名和密码

有两种方式可以搞定,看你习惯哪种:

方式1:通过Web控制台可视化修改

启动TCP服务器后,正常打开Web控制台,用原来的sa用户名、空密码登录。登录后在SQL输入框执行以下语句:

  • 修改sa的密码:
    ALTER USER sa SET PASSWORD '你的新密码';
  • 要是想新建一个专属用户(比如admin):
    CREATE USER admin WITH PASSWORD 'admin123';
    然后给这个用户授权全库权限:
    GRANT ALL ON DATABASE TO admin;

执行完刷新或者重新登录,就能用新的用户名密码访问了。

方式2:启动服务器时直接指定默认用户

如果不想先登录sa再改,可以在启动命令里直接指定初始用户名和密码,比如:

  • Windows:
    h2.bat -tcp -tcpPort 9092 -tcpAllowOthers -user admin -password admin123
  • Linux/Mac:
    ./h2.sh -tcp -tcpPort 9092 -tcpAllowOthers -user admin -password admin123
    这样启动后,默认的登录用户就是admin,密码是admin123,原来的sa用户可以后续按需删除。
其他客户端连接配置

比如Java客户端的JDBC URL要改成TCP模式的格式:
jdbc:h2:tcp://你的服务器IP:9092/数据库文件路径
举个例子:

  • 本地连接默认数据库:jdbc:h2:tcp://localhost:9092/~/test
  • 指定绝对路径的数据库:jdbc:h2:tcp://192.168.1.100:9092/D:/h2_data/mydb
    然后用户名和密码填你刚设置的新账号就行。
注意事项
  • 记得开放服务器的9092端口(防火墙设置),不然其他机器连不上
  • 独立服务器模式的数据库文件路径可能和嵌入式模式不一样,最好用绝对路径指定,避免找不到数据文件
  • 可以把启动命令做成脚本文件,每次启动直接运行脚本就行,不用每次输一堆参数

内容的提问来源于stack exchange,提问作者Frederick Álvarez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:13:07