大家好!
在本文中,我们将讨论如何在Atlassian Jira and Confluence嵌入式数据库中更改管理员密码。
通常,在迁移Jira和Confluence服务器时,有必要将Jira和Confluence备份放在本地服务器上,以便分析Jira或Confluence的状态,或者只是从不必要的对象中清除Jira和Confluence。
为此,您不必部署postgres,oracle,mysql或sql服务器。 使用内置的H2数据库就足够了。 H2不能在生产中使用,因为它可能在最不适当的时候掉落,但它非常适合某些临时性的不重要安装。
因此,我们在本地安装了Jira和Confluence并导入了备份。 我们开始以admin身份登录,并且出现用户名或密码错误的错误。
您需要在数据库中修复密码。 怎么做?
在这里,Atlassian开发人员照顾了我们。 部署的Jira和Confluence包括H2数据库管理器,它位于以下路径中:jira_installation或confluence_installation / webapp / WEB-INF / lib / h2-XXXXX.jar。 在我的情况下,jar文件的名称是h2-1.3.176。
运行此文件(通常双击帮助)并获得以下屏幕:

JDBC URL字段包含H2数据库的路径,该路径位于jira_home /数据库中。 指定路径时,需要小心并指定正确的路径,因为如果路径不正确,则不会出现错误。 将创建一个空数据库。 您可以如下区分一个空数据库。 数据库中将只有一个模式,该模式将称为INFORMATION_SHCEMA。 看起来是这样的:

有效的数据库如下所示:

我们看到大量带有前缀AO_的表。 这是我们拥有正确数据库的一个好兆头。
之后,我们可以执行SQL查询来设置密码。
对于Jira(用户管理员密码范围):
update cwd_user set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==' where user_name='admin';
对于Confluence(用户admin密码admin):
update cwd_user set credential='{PKCS5S2}8WEZjkCbLWysbcbZ5PRgMbdJgJOhkzRT3y1jxOqke2z1Zr79q8ypugFQEYaMoIZt' where user_name='admin';
现在,您可以断开连接并运行Jira和Confluence。
重要的是要知道H2数据库一次仅支持一个连接。 因此,要启动Jira和Confluence,必须退出H2数据库管理器。 在H2数据库管理器中工作时,您必须不运行Jira和Confluence。