InfluxDB 客户端基础操作

InfluxDB数据库操作

如同MYSQL一样,InfluxDB提供多数据库支持,对数据库的操作也与MYSQL相同

复制代码
复制代码
#创建数据库
create database "db_name"
 
#显示所有的数据库
show databases
 
#删除数据库
drop database "db_name"
 
#使用数据库
use db_name
复制代码
复制代码
1)新建数据库:
1
create database "hyp"

2)显示数据库:

1
2
3
4
5
6
> show databases
name: databases
name
----
_internal
hyp

3)删除数据库
1
2
3
4
5
6
drop database "hyp"
> show databases
name: databases
name
----
_internal
4)使用某个数据库
1
2
> use hyp
Using database hyp

InfluxDB数据表操作

在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表。

复制代码
复制代码
#显示该数据库中所有的表
show measurements
 
#创建表,直接在插入数据的时候指定表名
insert test,host=127.0.0.1,monitor_name=test count=1
 
#删除表
drop measurement "measurement_name"
复制代码
复制代码
1)显示表:
1
2
3
4
5
6
> show measurements
name: measurements
name
----
disk_free
weather
2)创建表:
复制代码
复制代码
1 #InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。
2 insert disk_free,hostname=server01 value=442221834240i 1435362189575692182 #其中 disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间
3 
4 #当有三列时
5  insert test,name=tina,sex=female age=18
6 
7 #当有超过三列时
8 insert weather,altitude=1000,area=北 temperature=11,humidity=-4
复制代码
复制代码
3)删除表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
> show measurements
name: measurements
name
----
disk_free
test
test1
test2
test3
weather
drop measurement "test3"
> show measurements
name: measurements
name
----
disk_free
test
test1
test2
weather

InfluxDB数据操作

1.增

1
2
3
4
5
6
7
insert weather,altitude=1001,area=南 temperature=10,humidity=-4
select from weather
name: weather
time altitude area humidity temperature
--- -------- ---- -------- -----------
1607599240423844500 1000 北 -4 11
1607604432455278300 1001 南 -4 10

2.删

1
2
3
4
5
6
7
8
9
10
11
12
13
14
select from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607599240423844500 1000 北 -4 11
1607604432455278300 1001 南 -4 10
delete from weather where altitude=1000
ERR: shard 3: fields not supported in WHERE clause during deletion
delete from weather where time=1607599240423844500
select from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607604432455278300 1001 南 -4 10

3.改

tags 和 timestamp相同时数据会执行覆盖操作,相当于InfluxDB的更新操作

1
2
3
4
5
6
7
8
9
10
11
select from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607604432455278300 1001 南 -4 10
insert weather,altitude=1001,area=南 temperature=10,humidity=-5 1607604432455278300
select from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607604432455278300 1001 南 -5 10

  

4.查 

1
2
3
4
5
select from weather
name: weather
time altitude area humidity temperature
---- -------- ---- -------- -----------
1607604432455278300 1001 南 -5 10

  

 其他查询操作

复制代码
复制代码
 1 SHOW FIELD KEYS --查看当前数据库所有表的字段
 2 SHOW series from pay --查看key数据
 3 SHOW TAG KEYS FROM "pay" --查看key中tag key值
 4 SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值对应的值
 5 SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis'
 6 DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag_value>' --删除key
 7 SHOW CONTINUOUS QUERIES   --查看连续执行命令
 8 SHOW QUERIES  --查看最后执行命令
 9 KILL QUERY <qid> --结束命令
10 SHOW RETENTION POLICIES ON mydb  --查看保留数据
11 查询数据
12 SELECT * FROM /.*/ LIMIT 1  --查询当前数据库下所有表的第一行记录
13 select * from pay  order by time desc limit 2
14 select * from  db_name."POLICIES name".measurement_name --指定查询数据库下数据保留中的表数据 POLICIES name数据保留
15 删除数据
16 delete from "query" --删除表所有数据,则表就不存在了
17 drop MEASUREMENT "query"   --删除表(注意会把数据保留删除使用delete不会)
18 DELETE FROM cpu
19 DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z'
20 DELETE WHERE time < '2000-01-01T00:00:00Z'
21 DROP DATABASE “testDB” --删除数据库
22 DROP RETENTION POLICY "dbbak" ON mydb --删除保留数据为dbbak数据
23 DROP SERIES from pay where tag_key='' --删除key中的tag
24 
25 SHOW SHARDS  --查看数据存储文件
26 DROP SHARD 1
27 SHOW SHARD GROUPS
28 SHOW SUBSCRIPTIONS
复制代码
> Welcome to InfluxDB 2.0!? Please type your primary username admin? Please type your password *********? Please type your password again *********? Please type your primary organization name test? Please type your primary bucket name db01? Please type your retention period in hours, or 0 for infinite 0? Setup with these parameters?  Username:          admin  Organization:      test  Bucket:            db01  Retention Period:  infinite YesUser    Organization    Bucketadmin   test            db011.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.查看当前客户端配置
#influx configActive  Name    URL                     Org*       default http://localhost:8080   test1.2.3.创建 Token,Token 在以后的操作中非常必要。
#influx auth create -o test --all-accessID                      Description     Token                                                                                           User Name       User ID         Permissions094769ed38624000                        dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==        admin           094769346d6240001.2.3.2.数据写入准备写入第一条数据,数据规划如下:
表结构:
表名
标签1
标签2
列名
tb01
building
Floor
temp
数据:
building
floor
temp
timestamp
Baoli
702a
24.5
1651036342
influx write \  -b db01 \  -o test \  -p s \  't01,building=boli,floor=702a temp=24.5  1651036342'1.2.3.4.5.3.数据查询查询刚才写入的数据
influx query 'from(bucket: "db01")    |> range(start: -60h)    |> filter(fn: (r) => r._measurement == "t01" and r.building == "boli" and r.floor=="702a")    |> filter(fn: (r) => r._field == "temp")'1.2.3.4.#influx query 'from(bucket: "test")>     |> range(start: -6h)>     |> filter(fn: (r) => r._measurement == "t01" and r.building == "boli" and r.floor=="702a")>     |> filter(fn: (r) => r._field == "temp")'Error: failed to execute query: 404 Not Found: failed to initialize execute state: could not find bucket "test"[root@i0-110 ~]# influx query 'from(bucket: "db01")>     |> range(start: -60h)>     |> filter(fn: (r) => r._measurement == "t01" and r.building == "boli" and r.floor=="702a")>     |> filter(fn: (r) => r._field == "temp")'Result: _resultTable: keys: [_start, _stop, _field, _measurement, building, floor]                   _start:time                      _stop:time           _field:string     _measurement:string         building:string            floor:string                      _time:time                  _value:float------------------------------  ------------------------------  ----------------------  ----------------------  ----------------------  ----------------------  ------------------------------  ----------------------------2022-04-25T12:57:12.487988590Z  2022-04-28T00:57:12.487988590Z                    temp                     t01                    boli                    702a  2022-04-27T05:12:22.000000000Z1.2.3.4.5.6.7.8.9.10.11.12.13.14.4.备份恢复备份恢复需要admin 用户token,在第一步创建过了。
4.1.备份数据库influx backup /data/dump/ -t dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==1.4.2.恢复数据库influx restore /data/dump/ -t  dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==1.##恢复指定bucketinflux restore /data/dump/ --bucket db01 -t  dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==1.2.5.用户管理5.1.用户创建为组织test创建用户billy,密码 Passw0rd
#influx user create -n billy -p 'Passw0rd' -o test     ID                      Name09476ebecfe24000        billy1.2.3.查看当前用户
# influx user listID                      Name094769346d624000        admin09476ebecfe24000        billy1.2.3.4.5.2.修改密码#influx user password -n billy? Please type new password for "billy" *********? Please type new password for "billy" again *********Successfully updated password for user "billy"1.2.3.4.5.3.删除用户WEB管理界面无法删除用户,只能通过CLI来进行。删除用户只能通过user-id来完成。
# influx user delete -i 09476ebecfe24000ID                      Name    Deleted09476ebecfe24000        billy   true# influx user listID                      Name094769346d624000        admin1.2.3.4.5.6.6.数据库管理InfluxDB中没有Database,只有Organization 和 Bucket。用关系库的理解,Organization 对应数据库示例,Bucket对应Database。
6.1.Org管理##创建org# influx org create -n db02ID                      Name4e4317920dba2bb5        db02# influx org listID                      Name4e4317920dba2bb5        db02d781e1ab6a34faad        test
##重命名org# influx org update -i 4e4317920dba2bb5 -n test2ID                      Name4e4317920dba2bb5        test2# influx org listID                      Name4e4317920dba2bb5        test2d781e1ab6a34faad        test
##删除org# influx org delete -i 4e4317920dba2bb5       ID                      Name    Deleted4e4317920dba2bb5        test2   true# influx org listID                      Named781e1ab6a34faad        test1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.6.2.Bucket管理##创建bucket# influx bucket create -n db02 -o test -r 1wID                      Name    Retention       Shard group duration    Organization ID         Schema Typee6e6f7ae16812784        db02    168h0m0s        24h0m0s                 d781e1ab6a34faad        implicit
# influx bucket list -o testID                      Name            Retention       Shard group duration    Organization ID         Schema Type74091a2d2a220be1        _monitoring     168h0m0s        24h0m0s                 d781e1ab6a34faad        implicit5175f85981b38eef        _tasks          72h0m0s         24h0m0s                 d781e1ab6a34faad        implicit493461b293cb9760        db01            infinite        168h0m0s                d781e1ab6a34faad        implicite6e6f7ae16812784        db02            168h0m0s        24h0m0s                 d781e1ab6a34faad        implicit
##重命名bucket# influx bucket update -i e6e6f7ae16812784 -n db03 -r 2wID                      Name    Retention       Shard group duration    Organization ID         Schema Typee6e6f7ae16812784        db03    336h0m0s        24h0m0s                 d781e1ab6a34faad        implicit
# influx bucket list -o testID                      Name            Retention       Shard group duration    Organization ID         Schema Type74091a2d2a220be1        _monitoring     168h0m0s        24h0m0s                 d781e1ab6a34faad        implicit5175f85981b38eef        _tasks          72h0m0s         24h0m0s                 d781e1ab6a34faad        implicit493461b293cb9760        db01            infinite        168h0m0s                d781e1ab6a34faad        implicite6e6f7ae16812784        db03            336h0m0s        24h0m0s                 d781e1ab6a34faad        implicit
##删除bucket# influx bucket delete -n db03 -o testID                      Name    Retention       Shard group duration    Organization ID         Schema Type     Deletede6e6f7ae16812784        db03    336h0m0s        24h0m0s                 d781e1ab6a34faad        implicit        true
# influx bucket list -o test          ID                      Name            Retention       Shard group duration    Organization ID         Schema Type74091a2d2a220be1        _monitoring     168h0m0s        24h0m0s                 d781e1ab6a34faad        implicit5175f85981b38eef        _tasks          72h0m0s         24h0m0s                 d781e1ab6a34faad        implicit493461b293cb9760        db01            infinite        168h0m0s                d781e1ab6a34faad        implicit1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.Influx 命令汇总





-----------------------------------©著作权归作者所有:来自51CTO博客作者DBA大董的原创作品,请联系作者获取转载授权,否则将追究法律责任InfluxDB 客户端基础操作https://blog.51cto.com/dbadadong/5270370
posted @   吕金林  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示