Grafana 重置 admin 密码
- 1. 已知 admin 密码修改新密码
- 1.1 方法一:常规方法
- 1.2 方法二:API 接口
- 2. 忘记 admin 密码重置密码
- 2.1 方法一:命令行
- 2.2 方法二:修改数据库
- 2.3 方法三:将某个用户提权为 admin 权限用户
- 参考
Grafana 的使用越来越广泛,在使用过程中经常遇到要重置密码的需求,尤其是 admin 密码,先说常规问题。
1. 已知 admin 密码修改新密码
1.1 方法一:常规方法
使用已知密码登陆系统,在系统页面里进行修改。
1.2 方法二:API 接口
接口使用方法如下:
curl -X PUT -H "Content-Type: application/json" -d '{"oldPassword": "admin","newPassword": "newpass","confirmNew": "newpass"
}' http://admin:admin@<your_grafana_host>:3000/api/user/password
2. 忘记 admin 密码重置密码
接下来就是划重点的时候了,经常搭建了一个小环境以后,隔了几周想再看看的时候发现,admin 密码忘记了,没法登陆了。接下来这几个方法都能解决这几个问题,看情况使用。
2.1 方法一:命令行
该方法基于 Grafana 4.1 以上
grafana-cli admin reset-admin-password <new password>
如果上述方法报错:Could not find config defaults, make sure homepath command line parameter is set or working directory is homepath
那么使用如下 flag 来指定参数
grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpass
2.2 方法二:修改数据库
查看Grafana配置文件,确定Grafana 数据库 grafana.db的路径
配置文件路径一般为 /etc/grafana/grafana.ini ,如果安装时修改过,请查看对应位置的 grafana.ini 。
[paths]
;data = /var/lib/grafana[database]
# For "sqlite3" only, path relative to data_path setting
;path = grafana.db
通过配置文件得知grafana.db的完整路径为: /var/lib/grafana/grafana.db
由于 Grafana 使用 sqlite3 来存储配置数据,所以使用 sqlite3 来进行修改,如果没有请安装。
[root@local]# sqlite3 /var/lib/grafana/grafana.db
#查看数据库中包含的表
.tables#查看user表内容
select * from user;#重置admin用户的密码为默认admin
update user set password = '59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a6', salt = 'F3FAxVm33R' where login = 'admin';#退出sqlite3
.exit
使用上述方法,会将 admin 用户的密码重置为 admin ,然后登陆页面进行修改。
2.3 方法三:将某个用户提权为 admin 权限用户
一般来说上述方法已经可以满足需求了,如果不方便重置 admin 用户的密码,那么也可以通过修改数据库,将某个用户提权为 admin 权限用户,然后通过这个用户来进行修改。
提权语句如下:
udpate user set is_admin = 1 where login = 'xxxx';
参考
http://docs.grafana.org/administration/cli/#reset-admin-password , By Grafana