InfluxDB 客戶端基礎操作2

吕金林發表於2024-04-25

InfluxDB 提供了客戶端 influx 用於管理資料庫。自2.1版本,客戶端influx就和服務端influxd分離開了,需要單獨安裝。安裝方法非常檢查,解壓縮複製到到/user/bin 下面即可。

在1.x版本中客戶端支援SQL語句,但在2.x版本中,已經不支援SQL語法了。這對熟悉關係型資料庫的人來說不太友好。

官方文件:https://docs.influxdata.com/influxdb/v2.2/reference/cli/influx/

1.客戶端初始化
InfluxDB 服務端啟動後,使用Influx CLI 進行初始化(使用web管理介面操作更加方便,http://IP:port ,預設埠8086,我在配置檔案將埠修改成了8080,配置方法見:​ ​InfluxDB 引數詳解​​)。

依次輸入:使用者名稱、密碼、組織名稱、桶名稱、資料儲存時間(過期自動刪除,0表示永久儲存)。

複製
#influx setup --host http://localhost:8080
> 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
Yes
User Organization Bucket
admin test db01

檢視當前客戶端配置

#influx config
Active Name URL Org
* default http://localhost:8080 test

建立 Token,Token 在以後的操作中非常必要。

#influx auth create -o test --all-access

2.資料寫入
準備寫入第一條資料,資料規劃如下:

influx write \
-b db01 \
-o test \
-p s \
't01,building=boli,floor=702a temp=24.5 1651036342'

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")'

#influx query 'from(bucket: "test")

4.備份恢復

備份恢復需要admin 使用者token,在第一步建立過了。

4.1.備份資料庫

influx backup /data/dump/ -t dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==

4.2.恢復資料庫

influx restore /data/dump/ -t dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==

4.2.恢復資料庫

influx restore /data/dump/ -t dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==

##恢復指定bucket
influx restore /data/dump/ --bucket db01 -t dK-GjQBMFVBw_cjaxhI7ekuGi3ouJ8FkJ1plEE39iOHnqRedZuTXCy96jQhqOEa1Rdb9A5jEin-GxKDsp7DbWw==

5.使用者管理

5.1.使用者建立
為組織test建立使用者billy,密碼 Passw0rd

#influx user create -n billy -p 'Passw0rd' -o test
ID Name
09476ebecfe24000 billy

檢視當前使用者

# influx user list
ID Name
094769346d624000 admin
09476ebecfe24000 billy

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"

5.3.刪除使用者

WEB管理介面無法刪除使用者,只能透過CLI來進行。刪除使用者只能透過user-id來完成。

6.資料庫管理

InfluxDB中沒有Database,只有Organization 和 Bucket。用關係庫的理解,Organization 對應資料庫示例,Bucket對應Database

6.1.Org管理

##建立org
# influx org create -n db02
ID Name
4e4317920dba2bb5 db02
# influx org list
ID Name
4e4317920dba2bb5 db02
d781e1ab6a34faad test

##重新命名org
# influx org update -i 4e4317920dba2bb5 -n test2
ID Name
4e4317920dba2bb5 test2
# influx org list
ID Name
4e4317920dba2bb5 test2
d781e1ab6a34faad test

##刪除org
# influx org delete -i 4e4317920dba2bb5
ID Name Deleted
4e4317920dba2bb5 test2 true
# influx org list
ID Name
d781e1ab6a34faad test

6.2.Bucket管理

##建立bucket
# influx bucket create -n db02 -o test -r 1w
ID Name Retention Shard group duration Organization ID Schema Type
e6e6f7ae16812784 db02 168h0m0s 24h0m0s d781e1ab6a34faad implicit

# influx bucket list -o test
ID Name Retention Shard group duration Organization ID Schema Type
74091a2d2a220be1 _monitoring 168h0m0s 24h0m0s d781e1ab6a34faad implicit
5175f85981b38eef _tasks 72h0m0s 24h0m0s d781e1ab6a34faad implicit
493461b293cb9760 db01 infinite 168h0m0s d781e1ab6a34faad implicit
e6e6f7ae16812784 db02 168h0m0s 24h0m0s d781e1ab6a34faad implicit

##重新命名bucket
# influx bucket update -i e6e6f7ae16812784 -n db03 -r 2w
ID Name Retention Shard group duration Organization ID Schema Type
e6e6f7ae16812784 db03 336h0m0s 24h0m0s d781e1ab6a34faad implicit

# influx bucket list -o test
ID Name Retention Shard group duration Organization ID Schema Type
74091a2d2a220be1 _monitoring 168h0m0s 24h0m0s d781e1ab6a34faad implicit
5175f85981b38eef _tasks 72h0m0s 24h0m0s d781e1ab6a34faad implicit
493461b293cb9760 db01 infinite 168h0m0s d781e1ab6a34faad implicit
e6e6f7ae16812784 db03 336h0m0s 24h0m0s d781e1ab6a34faad implicit

##刪除bucket
# influx bucket delete -n db03 -o test
ID Name Retention Shard group duration Organization ID Schema Type Deleted
e6e6f7ae16812784 db03 336h0m0s 24h0m0s d781e1ab6a34faad implicit true

# influx bucket list -o test
ID Name Retention Shard group duration Organization ID Schema Type
74091a2d2a220be1 _monitoring 168h0m0s 24h0m0s d781e1ab6a34faad implicit
5175f85981b38eef _tasks 72h0m0s 24h0m0s d781e1ab6a34faad implicit
493461b293cb9760 db01 infinite 168h0m0s d781e1ab6a34faad implicit

Influx 命令彙總

轉載連線:https://blog.51cto.com/dbadadong/5270370



相關文章