分享交流
合作共赢!

Grafana 将默认数据库sqlite3 改为mysql方法总结

一、简介

默认安装的Grafana使用sqlite3来存储用户、密码、session等信息,默认保存路径为:/var/lib/grafana/,如果要部署高可用grafana的话,sqlite3来管理存储数据显得不太协调。因此我们可以将Grafana使用的sqlite3改为mysql,这样方便多个Grafana实例共同使用同一个数据库(mysql)。

二、更改

这里分为两种场景:

场景一:

grafana数据已经初始化为sqlite3存储格式,方法如下:

1.先停止grafana

$ sudo systemctl stop grafana-server

2.导出grafana的sqlite数据库为mysql格式

#!/bin/bash
DB=$1
TABLES=$(sqlite3 $DB .tables | sed -r 's/(\S+)\s+(\S)/\1\n\2/g' | grep -v migration_log)
for t in $TABLES; do
    echo "TRUNCATE TABLE $t;"
done
for t in $TABLES; do
    echo -e ".mode insert $t\nselect * from $t;"
done | sqlite3 $DB

执行导出命令:

$ ./export_sqlite.sh grafana.db > grafana.sql

3.更改grafana配置文件

grafana默认配置文件为/etc/grafana/grafana.ini,找到[database]部分,修改grafana存储信息

方式一:直接配置MySQL细腻

type = mysql
host = IPADDRESS:3306
name = DATABASE_NAME
user = USER
password = PASSWORD

或者通过url进行定义database信息,参考如下:

url = mysql://USER:PASSWORD@IPADDRESS:3306/DATABASE_NAME

4.数据库导入到MySQL

$ mysql -p IPADDR -u USERNAME -p -D grafana < grafana.sql

5.启动grafana

$ sudo systemctl start grafana-server

场景二:

grafana数据为初始化,方法如下:

参考场景一的方法,先配置grafana.ini的database配置信息,然后再启动grafana应用,这样启动的时候grafana的数据会自动初始化在database配置的数据库中。【此方法较简单–推荐】

提示:

另外,使用Ansible的playbook脚本自动完成多grafana实例的安装–>配置–>数据初始化到mysql数据库,实现高可用的playbook脚本,笔者已多次测试,未发现BUG,如下所示:

此内容查看价格6.66立即购买

赞(3) 打赏
未经允许不得转载:琼杰笔记 » Grafana 将默认数据库sqlite3 改为mysql方法总结

相关推荐

  • 暂无文章

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册