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
#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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库