尝试从 shell start/stop 服务器模式下的 H2 时,用户名或密码 [28000-202] 错误

Wrong user name or password [28000-202] when trying to start/stop H2 in server mode from the shell

我最近升级到新的 Version 2.0.202 (2021-11-25) of H2。 我有一个 shell 脚本,是我在使用版本 1.4.200 (14.10.2019 ?) 时编写的,我在其中停止和启动 H2-Server 使用:

java -cp h2*.jar org.h2.tools.Server -tcpPort 9092 -tcpShutdown tcp://11.333.444.111:9092 -tcpShutdownForce </dev/null &>/dev/null &>>$WORKING_DIR/logs/h2_servers.log   

升级后我得到了一个错误的用户名或密码异常:

Exception in thread "main" org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Falscher Benutzername oder Passwort Wrong user name or password [28000-202]

.h2.server.properties 我没有设置用户名或密码。
这是一个问题吗? 如果不是,要使用什么用户名和密码?它们在哪里设置?

您需要在启动 TCP 服务器和停止它时指定相同的密码

-tcpPassword some_password

两个命令中的参数。

如果您的服务器配置为接受远程连接,您需要选择一个安全密码。

这是一个错误。 在早期版本中,可以在不为 -tcpPassword 提供值的情况下启动和停止 H2-Server。 与旧版本一样,使用 Version 2.0.202 (2021-11-25) 可以启动 H2-Server 而无需为 -tcpPassword 提供值,如下所示:

java -cp h2*.jar org.h2.tools.Server -tcp -tcpAllowOthers -tcpPort 9092 -web -webPort 8082

问题是停止 H2-Server。使用旧版本可以这样做:

java -cp h2*.jar org.h2.tools.Server -tcpPort 9092 -tcpShutdown tcp://xx.xxx.xxx.xxx:9092 -tcpShutdownForce

Version 2.0.202 我得到:

java -cp h2*.jar org.h2.tools.Server -tcpPort 9092 -tcpShutdown tcp://xx.xxx.xxx.xxx:9092 -tcpShutdownForce
Shutting down TCP Server at tcp://xx.xxx.xxx.xxx:9092
Exception in thread "main" org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: 
Wrong user name or password [28000-202]

我没有使用过,请提供哪个密码? 我开了一个issue.