Sonar默认数据库是什么?如何连接数据库执行SonarQube管理员密码重置语句?
SonarQube 常见问题解答:默认数据库与管理员密码重置
1. SonarQube 的默认数据库是什么?
SonarQube 开箱即用的默认数据库是 H2 嵌入式数据库。它不需要额外安装配置,非常适合开发、测试场景快速上手,但绝对不建议用于生产环境——毕竟嵌入式数据库在性能、稳定性和数据维护上都远不如 PostgreSQL、MySQL 这类成熟的关系型数据库。
2. 如何在默认H2数据库中执行密码重置SQL?
既然你安装时没指定外部数据库,那SonarQube肯定用的是默认的H2库,下面一步步教你操作:
第一步:定位H2数据库文件(无需手动操作,仅作了解)
H2的数据库文件默认存在SonarQube安装目录的 data 文件夹里,文件名通常是 sonar.h2.db(旧版本可能叫 sonar.db),咱们直接用控制台连接就行,不用手动操作这个文件。
第二步:打开H2控制台并连接数据库
- 确保SonarQube服务正在运行
- 打开浏览器访问
http://localhost:9000/h2-console(如果你的SonarQube用了其他端口,把9000换成你设置的端口) - 在登录界面填写连接信息:
- JDBC URL:默认是
jdbc:h2:tcp://localhost:9092/sonar - 用户名:
sonar - 密码:
sonar
要是连接失败,直接去SonarQube安装目录下的
conf/sonar.properties文件里找sonar.jdbc.url配置项,那里面就是正确的连接地址,复制过来就行。 - JDBC URL:默认是
第三步:执行密码重置SQL
连接成功后,在控制台的输入框里粘贴你找到的SQL语句:
update users set crypted_password = '88c991e39bb88b94178123a849606905ebf440f5', salt='6522f3c5007ae910ad690bb1bdbf264a34884c6d' where login = 'admin';
点击执行按钮(就是那个类似播放的图标),执行完成后,关闭控制台,重启SonarQube服务,之后你就能用默认密码 admin 登录了。
小提示
如果之后要把SonarQube用到生产环境,记得把数据库换成PostgreSQL或者MySQL,只需要修改 conf/sonar.properties 里的数据库连接参数,重启服务就搞定了。
内容的提问来源于stack exchange,提问作者Ricardo Rubik Ruiz
相关产品推荐
相关产品推荐

