docker部署grafana持久化数据到mysql
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了。避免因为重启,丢失数据了。