- java -jar gerrit-2.3.war gsql -d ./review_site/
- update ACCOUNT_EXTERNAL_IDS set external_id='username:XXX' where external_id='username:XXX';
ssh -p 29418 XXX@review.XXX.com gerrit create-project --name mall
2.删除gerrit用户
ssh -p 29418 XXX review_site gsql
delete from ACCOUNT_EXTERNAL_IDS where external_id='username:XXX';
3.操作h2数据库
停掉gerrit进程,bin/gerrit.sh stopjava -jar gerrit.war gsql -d /home/cms/gerrit 进入h2数据库。4.创建http登录帐号
设置第一个gerrit用户的帐号和密码 $: touch ./review_site/etc/passwd $: htpasswd -b ./review_site/etc/passwd gerritUser1 123456789
(后续再添加gerrit用户可使用: $: htpasswd -b ./review_site/etc/passwd UserName PassWord )
5.管理员创建邮箱
回到本机通过ssh远程连接创建邮箱
$ cat ~/.ssh/config
Host ha HostName 192.168.1.5 User root Port 29418 IdentityFile ~/.ssh/id_rsa $ ssh ha gerrit set-account --add-email accountemail accountname
服务器数据库中帐号权限修改
这个主要是从DEVELOPMENT_BECOME_ANY_ACCOUNT切换到HTTP认证方式后,管理员账号没有密码无法登录,所以给htpasswd创建的账号添加管理员权限
先关闭gerrit服务,然后登入H2:
jiqiren@java -jar /home/ss/gerrit/review_site/bin/gerrit/war gsql*查看帮助: gerrt> \h
*列出所有表: gerrit>\d将htpasswd生成的账户设置为管理员账户;
我的账户是user2,需要修改的表有两个:
1. 将登录账户的account_id改为1000000(系统管理员账户),表:accounts
update accounts set account_id=1000000 where account_id=1000003;2. 登录账户名对应的account_id权限, 表:account_external_ids
update account_external_ids set account_id=1000000 where external_id='username:user2';update account_external_ids set account_id=1000000 where external_id='gerrit:user2';
然后重新用user2登录gerrit,就具有管理员权限了。