重置 Grafana admin 密码
Grafana 的使用越来越广泛,在使用过程中经常遇到要重置密码的需求,尤其是 admin 密码,先说常规问题。
已知 admin 密码修改新密码
方法一:常规方法
使用已知密码登陆系统,在系统页面里进行修改。
方法二: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
忘记 admin 密码重置密码
方法一:命令行
该方法基于 Grafana 4.1 以上
grafana-cli admin reset-admin-password newpassword
如果上述方法报错: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" newpassword
方法二:修改数据库
查看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 ,然后登陆页面进行修改。
方法三
一般来说上述方法已经可以满足需求了,如果不方便重置 admin 用户的密码,那么也可以通过修改数据库,将某个用户提权为 admin 权限用户,然后通过这个用户来进行修改。
提权语句如下:
udpate user set is_admin = 1 where login = 'xxxx';
参考链接
http://docs.grafana.org/administration/cli/#reset-admin-password