influxdb使用及总结

方便以后查询,做一个简单总结

增相关

CLI终端下插入数据insert weather,altitude=1000,area=北 temperature=11,humidity=-4

以http形式插入数据curl -i -XPOST 'http://localhost:8086/write?db=testDB' --data-binary 'weather,altitude=1000,area=北 temperature=11,humidity=-4'

CLI终端下查询SELECT * FROM weather ORDER BY time DESC LIMIT 3

以http形式查询curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDB" --data-urlencode "q=SELECT * FROM weather ORDER BY time DESC LIMIT 3"

库相关

创建数据库CREATE DATABASE "db_name"

显示所有数据库SHOW DATABASES

删除数据库DROP DATABASE "db_name"

USE mydb

表相关

显示所有表SHOW MEASUREMENTS

创建表并插入数据insert weather,altitude=1000,area=北 temperature=11,humidity=-4

删除表DROP MEASUREMENT "measurementName"

保存策略相关

Points : 指的是由Tags、Fields和timestamp组成的一行数据

InfluxDB没有提供直接删除Points的方法,但是它提供了Retention Policies。
主要用于指定数据的保留时间:当数据超过了指定的时间之后,就会被删除。

显示testDB所有的保存策略SHOW RETENTION POLICIES ON "testDB"

创建一个新的策略CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT

修改策略ALTER RETENTION POLICY "rp_name" ON db_name" DURATION 3w DEFAULT

删除策略DROP RETENTION POLICY "rp_name" ON "db_name"

连续查询

当数据超过保存策略里指定的时间之后,就会被删除。
如果我们不想完全删除掉,比如做一个数据统计采样:把原先每秒的数据,存为每小时的数据,让数据占用的空间大大减少(以降低精度为代价)。
这就需要InfluxDB提供的:连续查询(Continuous Queries)。

显示所有的continuous querySHOW CONTINUOUS QUERIES

使用下面命令创建一个新的 continuous queries
示例在testDB库中新建了一个名为 cq_30m 的连续查询,每三十分钟取一个temperature字段的平均值,加入 weather30m 表中。

continuous queryCREATE CONTINUOUS QUERY cq_30m ON testDB BEGIN SELECT mean(temperature) INTO weather30m FROM weather GROUP BY time(30m)

字段说明
cq_30m连续查询的名字
testDB具体的数据库名
mean(temperature)算平均温度
weather当前表名
weather30m存新数据的表名
30m时间间隔为30分钟

删除DROP CONTINUOUS QUERY <cq_name> ON <database_name>

用户管理相关

显示用户SHOW USERS

创建用户CREATE USER "username" WITH PASSWORD 'password'

创建管理员权限的用户CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES

删除用户DROP USER "username"

感谢博主的分享,快速入门很不错传送门1传送门2

官方文档传送门