Grafana 的使用越来越广泛,在使用过程中经常遇到要重置密码的需求,尤其是 admin 密码,先说常规问题。
已知 admin 密码修改新密码
方法一:常规方法
使用已知密码登陆系统,在系统页面里进行修改。
方法二:API 接口
接口使用方法如下:
1 | curl -X PUT -H "Content-Type: application/json" -d '{ |
忘记 admin 密码重置密码
接下来就是划重点的时候了,经常搭建了一个小环境以后,隔了几周想再看看的时候发现,admin 密码忘记了,没法登陆了。接下来这几个方法都能解决这几个问题,看情况使用。
方法一:命令行
该方法基于 Grafana 4.1 以上
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 来指定参数
1 | grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" newpass |
方法二:修改数据库
查看Grafana配置文件,确定Grafana 数据库 grafana.db的路径
配置文件路径一般为 /etc/grafana/grafana.ini ,如果安装时修改过,请查看对应位置的 grafana.ini 。
1 | [paths] |
通过配置文件得知grafana.db的完整路径为: /var/lib/grafana/grafana.db
由于 Grafana 使用 sqlite3 来存储配置数据,所以使用 sqlite3 来进行修改,如果没有请安装。
1 | [root@local]# sqlite3 /var/lib/grafana/grafana.db |
使用上述方法,会将 admin 用户的密码重置为 admin ,然后登陆页面进行修改。
方法三
一般来说上述方法已经可以满足需求了,如果不方便重置 admin 用户的密码,那么也可以通过修改数据库,将某个用户提权为 admin 权限用户,然后通过这个用户来进行修改。
提权语句如下:
1 | udpate user set is_admin = 1 where login = 'xxxx'; |
参考链接
======================
Erdong, A Linux user !