docker部署grafana持久化数据到mysql

2020-02-23prometheuslinux

grafana简介

grafana是一个开源跨平台的可视化工具,开源把采集的监控数据,美化的图表展示出来。

用mysql做数据持久化

用docker搭建好mysql以后,用root权限,新建一个grafana用户和grafana数据库,并授予grafana用户,grafana数据库的所有权限。

# 新建数据库
CREATE DATABASE grafana;
# 新建用户
CREATE USER 'grafana'@'%' IDENTIFIED BY '123456';
# 授权用户
GRANT ALL ON grafana.* TO 'grafana'@'%';
# 刷新权限表
FLUSH PRIVILEGES;

配置grafana配置文件

先启动一个grafana容器,把容器上的配置文件复制到宿主机上

docker container run --name test -d grafana/grafana
docker container cp test:/etc/grafana/grafana.ini ~/etc/
docker container stop test
docker container rm test

编辑这个配置文件的[database]部分

[database]
# You can configure the database connection by specifying type, host, name, user and password
# as separate properties or as on string using the url property.

# Either "mysql", "postgres" or "sqlite3", it's your choice
type = mysql
host = 192.168.3.3:3306
name = grafana
user = grafana
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = 123456

添加上mysql数据库地址,数据库名称,用户名和密码,并保存配置文件

启动grafana容器

启动grafana容器,把宿主机配置文件映射到容器里

docker container run --name grafana -v $PWD/etc/grafana.ini:/etc/grafana/grafana.ini  -p 3000:3000 -v /etc/localtime:/etc/localtime -d grafana/grafana

登陆mysql数据库,可以看到刚新建的数据库表数据数据

查看数据表

这样就完成docker容器持久化数据到mysql了。避免因为重启,丢失数据了。

Last Updated 8/21/2026, 3:57:15 AM