Rundeck启动触发liquibase异常,求Linux命令行免JBoss打开H2数据库
Linux命令行操作Rundeck内置H2数据库(无需Java容器)
一、用Rundeck自带的H2客户端启动
Rundeck安装包本身包含H2数据库的jar文件,无需额外下载:
- 定位Rundeck的H2 jar文件,执行命令:
执行后会得到类似find /var/lib/rundeck -name "h2-*.jar"/var/lib/rundeck/lib/h2-1.4.200.jar的具体路径。 - 用Java命令启动H2命令行客户端,连接到Rundeck的H2数据库:
java -jar /var/lib/rundeck/lib/h2-1.4.200.jar -url jdbc:h2:/var/lib/data/rundeck/rundeckdb -user rundeck -password rundeck- 说明:
jdbc:h2:/var/lib/data/rundeck/rundeckdb中的路径指向你H2数据库文件(rundeckdb.mv.db)所在目录,需去掉.mv.db后缀; - 用户名密码默认是
rundeck/rundeck,如果修改过Rundeck数据库配置,替换为自定义账号密码。
- 说明:
二、解决复制数据库后的Liquibase锁问题
复制其他服务器的H2数据库后出现liquibase.exception.DatabaseException: Error executing SQL UPDATE PUBLIC.DATABASECHANGELOGLOCK SET LOCKED=TRUE错误,是因为原数据库的变更日志锁未释放。进入H2命令行后执行以下SQL解锁:
UPDATE PUBLIC.DATABASECHANGELOGLOCK SET LOCKED=FALSE, LOCKEDBY=NULL, LOCKGRANTED=NULL; COMMIT;
执行后退出H2客户端,重启Rundeck服务即可恢复正常。
内容的提问来源于stack exchange,提问作者stack thx
相关产品推荐
相关产品推荐

