CentOS离线安装InfluxDB
#解压
tar -zxvf influxdb-1.7.10-static_linux_amd64.tar.gz
#nohup后台启动,指定配置文件,输出日志到log.file文件
nohup /home/influxdb-1.7.10-1/influxd -config /home/influxdb-1.7.10-1/influxdb.conf >> /home/influxdb-1.7.10-1/log.file 2>&1 &
#增加 开机自启动
vim /etc/rc.d/rc.local
#打开后, 最后添加如下命令
nohup /home/influxdb-1.7.10-1/influxd -config /home/influxdb-1.7.10-1/influxdb.conf >> /home/influxdb-1.7.10-1/log.file 2>&1 &
终端连接InfluxDB
cd /home/influxdb-1.7.10-1/
#连接InfluxDB 默认没有设置用户名和密码
./influx
#如果设置了用户名和密码时
./influx -username 'admin' -password 'abcd_2021'
#远程连接其他InfluxDB
./influx -host 192.168.1.2 -port 8086 -username admin -password abcd_2021
开启udp
修改配置文件: influxdb.conf
[[udp]]
enabled = true 开启udp
Java调用时 influxDB.write(8089, builder.build());
MacBook离线安装InfluxDB
#下载
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.4_darwin_amd64.tar.gz
#解压
tar -zxvf influxdb-1.6.4_darwin_amd64.tar.gz
#进入目录
cd software/influxdb-1.6.4-1/usr/bin
#启动服务,默认配置启动
./influxd
#指定配置启动
./influxd -config ../../etc/influxdb/influxdb.conf
#连接influxDB
./influx
#远程连接其他InfluxDB
./influx -host 192.168.1.2 -port 8086 -username admin -password abcd_2021
Docker安装InfluxDB
#下载镜像
docker pull influxdb
#运行容器,把配置文件挂载到宿主机/data/influxdb目录,把数据文件也挂载出来,防止数据丢失, 挂载时区,不然默认是0时区
docker run -d --name my-influxdb \
-p 8086:8086 \
-p 8083:8083 \
-p 2003:2003 \
-e INFLUXDB_GRAPHITE_ENABLED=true \
-v /data/influxdb/conf/influxdb.conf:/etc/influxdb/influxdb.conf \
-v /data/influxdb:/var/lib/influxdb \
-v /etc/localtime:/etc/localtime \
influxdb
InfluxDB使用
默认是不用用户名和密码的, 是否开启认证,默认值:false
cat /data/influxdb/conf/influxdb.conf
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
engine = "tsm1"
wal-dir = "/var/lib/influxdb/wal"
[http]
auth-enabled = false
创建用户名和密码后,修改为开启认证
#连接influxDB
./influx
#如果是容器启动,进入容器
docker exec -it my-influxdb /bin/bash
输入 influx
#创建用户名和密码,并给所有权限
create user "admin" with password 'abcd_2021' with all privileges
#登录
auth admin abcd_2021
#查询数据库
show databases;
#创建数据库
create database demo
创建好用户名和密码后,修改auth-enabled = true
重启服务或重启容器生效,就必须要使用 用户名和密码连接
#http方式创建数据库testdb
curl -i -X POST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE testdb"
#http方式创建用户名和密码
curl -XPOST http://localhost:8086/query --data-urlencode "q=create user "admin123" with password 'admin123' with all privileges"
#其他方式
./influx -database 'testdb' -execute 'auth admin123 admin123'
InfluxDB保存策略
#显示test数据库策略 如果没有指定策略默认是autogen
show retention policies on test
#对test数据库创建一个策略,2小时之前数据删除,一个副本,设置为默认策略
create retention policy "abc" on "test" duration 2h replication 1 default
#10天前数据删除 比如:h(小时),w(星期)
create retention policy "rp_10d" on "iotdata" duration 10d replication 1 default
#修改默认策略
alter retention policy "autogen" on "demo" duration 10d replication 1 default
alter retention policy "autogen" on "demo" duration 15d replication 1 default
#修改策略
alter retention policy "rp_10d" ON "demo" duration 10d replication 1 default
#插入数据不指定策略,按默认策略保存
insert into devops,host=server01 cpu=23.1,mem=0.61
#指定策略保存数据
insert into "autogen" devops,host=server01 cpu=23.1,mem=0.71
#查询时不指定策略,按默认策略查询
select * from "devops"
#指定策略查询数据
select * from "autogen"."devops"
show tag keys from 表名
show field keys from 表名