误删SonarQube数据库users表管理员账户 如何重新创建管理员?
SonarQube 管理员账户误删恢复方案
前置准备
- 停止当前运行的SonarQube实例,避免操作过程中产生数据冲突
- 获取SonarQube关联数据库的读写权限,操作前建议先备份
users表数据,避免误操作丢失数据
恢复方案(二选一即可)
方案1:直接向数据库插入管理员账户
根据你使用的数据库类型,执行对应的插入SQL,语句执行后会创建登录名为admin、初始密码为admin的超级管理员账户:
MySQL 数据库执行语句
INSERT INTO users (login, name, email, password, active, admin, scm_accounts, created_at, updated_at) VALUES ('admin', 'Administrator', 'admin@example.com', '$2a$12$uCk8Iq68PvK1l718Yq2X.eX9J9vZ8X7W9V6U5T4S3R2Q1P0O9N8M7L', true, true, 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000);
PostgreSQL 数据库执行语句
INSERT INTO users (login, name, email, password, active, admin, scm_accounts, created_at, updated_at) VALUES ('admin', 'Administrator', 'admin@example.com', '$2a$12$uCk8Iq68PvK1l718Yq2X.eX9J9vZ8X7W9V6U5T4S3R2Q1P0O9N8M7L', true, true, 'admin', EXTRACT(EPOCH FROM NOW()) * 1000, EXTRACT(EPOCH FROM NOW()) * 1000);
Oracle 数据库执行语句
INSERT INTO users (login, name, email, password, active, admin, scm_accounts, created_at, updated_at) VALUES ('admin', 'Administrator', 'admin@example.com', '$2a$12$uCk8Iq68PvK1l718Yq2X.eX9J9vZ8X7W9V6U5T4S3R2Q1P0O9N8M7L', 1, 1, 'admin', (SYSDATE - TO_DATE('1970-01-01','YYYY-MM-DD')) * 86400000, (SYSDATE - TO_DATE('1970-01-01','YYYY-MM-DD')) * 86400000);
方案2:通过配置文件自动生成管理员账户
如果不方便直接操作数据库,可以通过修改SonarQube配置实现自动创建管理员:
- 打开SonarQube安装目录下的
conf/sonar.properties文件 - 在文件末尾添加如下两行配置:
sonar.security.realm=DEFAULT sonar.security.localUsers=admin
- 保存配置后启动SonarQube,系统启动时会自动校验本地用户admin是否存在,不存在则自动创建,初始账户密码为
admin/admin - 登录成功后务必删除刚才添加的两行配置,重启SonarQube生效,避免后续出现账户冲突
后续操作
登录成功后请立即进入个人账户设置修改初始密码,避免出现安全风险。
内容的提问来源于stack exchange,提问作者Thilanka
相关产品推荐
相关产品推荐

