使用H2 Console连接H2数据库并修改数据

Tch
Tch
发布于 2025-09-14 / 3 阅读
0
0

1. 写在前面

最近在写一个Halo的插件,为了测试用把概览里边的对外访问地址给改了,改完是可以保存的。

如图所示,过一会再运行插件的时候启动不起来了。我知道这个地址有问题,但是能保存为啥不能启动,这找谁说理去。

启动不起来就没法再改回去,就只能对数据库下手了。

2. H2数据库

Halo博客默认使用的是H2数据库,虽然一直在用但是对它知之甚少,这会要改数据了都不知道从哪下手。

通义千问告诉我可以使用H2控制台启动,先下一个H2jar包,再通过命令行启动。

https://h2database.com/html/download.html


jar包下好以后执行命令,H2控制台就启动起来了。

输入JDBC URLjdbc:h2:/Users/tiandaren/Desktop/Project/Project/plugin-links-health-monitor/workplace/db/halo-next

用户名和密码是在Halo主项目里找到的。

https://github.com/halo-dev/halo/blob/main/application/src/main/resources/application.yaml

这就连接成功了

3. 修改数据

数据找到了,就是这一条,但是并不能直接看。


把十六进制转换成字符串以后就能看到了,红框圈出来的就是罪魁祸首。

改好之后转换成十六进制更新到表里。

注意更新的时候要使用X'...'把DATA数据表示成十六进制BLOB数据,不然就会被H2当成ASCII字符串,把每个字符传成对应的字节,最终存储的是这个字符串的UTF-8编码

4. 重新启动

以上。


评论