我正在从命令行使用 sonarqube。我的 Windows 7 (x86-64) 上有一个本地服务器 (sonarqube 64)。我已成功安装,并且可以打开 Web 主机http://localhost:9000/。但我无法登录管理员/管理员登录详细信息不起作用。
我知道有办法重置密码,但我需要我没有的数据库,而且我是唯一的用户/管理员。
有什么方法可以恢复或更改密码吗?我应该卸载服务器并重新安装吗?
也没有说如何正确卸载服务器
谢谢
我正在运行 8.5,这似乎有所不同,我使用:
将目录更改为/opt/sonarqube/lib/jdbc/h2
cd /opt/sonarqube/lib/jdbc/h2
运行下面的命令行打开h2 shell
java -cp h2-1.4.199.jar org.h2.tools.Shell
系统将提示您填写以下内容:
URL jdbc:h2:tcp://localhost:9092/sonar
驱动程序 org.h2.Driver
用户[无]
密码[无]
现在系统将提示您进入 sql 命令行 (sql>),然后输入您的查询:
update users set crypted_password = '$2a$12$uCkkXmhW5ThVK8mpBvnXOOJRLd64LJeHTeCkSuB3lfaR2N0AYBaSi', salt=null, hash_method='BCRYPT' where login = 'admin'
SonarQube 没有真正的“安装”;您分解 zip 并运行启动脚本之一。因此,如果您决定废弃当前实例,您所需要做的就是将其关闭,删除目录并重新分解 zip。但是,一旦这样做,您应该认真考虑将其连接到生产数据库。到目前为止,您正在使用嵌入式 H2 数据库运行,这不适合长期使用。除此之外,H2 数据库不支持迁移到新版本。
完成此操作后,您可以通过执行以下查询来重置管理员密码:
update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin'
这会将其设置回“管理员”
对于Mac(openjdk-18,sonarqube-10),通过brew安装Sonarqube我遵循以下步骤:
cd /usr/local/Cellar/sonarqube/10.3.0.82913/libexec/lib/jdbc/h2
java -cp h2-2.2.222.jar org.h2.tools.Shell
update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin';
然后在浏览器上使用以下凭据登录
openjdk-11、sonarqube-8),请按照以下步骤操作:
cd /opt/sq/lib/jdbc/h2
java -cp h2-1.3.176.jar org.h2.tools.Shell
URL jdbc:h2:localhost:9000/data/sonar
驱动程序 org.h2.Driver
用户声纳
密码声纳
update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin'