[Up]常用資訊

[重點文章] 重點文章 [重點文章] 重點文章

2020年6月2日 星期二

[InfluxDB] 使用 InfluxDB 的相關指令

[InfluxDB] 使用 InfluxDB 的相關指令

 
#Step: 01 – 使用 InfluxDB 的相關指令
最近測試 InfluxDB 資料庫常需要用到一些指令 備份一下 方便自己查詢


# 進入資料庫
> influx

#顯示使用者
show users
 
#建立使用者
create user "username" with password 'password'
 
#建立管理員許可權使用者
create user "username" with password 'password' with all privileges
 
#刪除使用者
drop user "username"
 
#建立資料庫
create database "db_name"
 
#顯示所有的資料庫
show databases
 
#刪除資料庫
drop database "db_name"
 
#使用資料庫
use db_name
 
#顯示該資料庫中所有的表
show measurements
 
# 賦予使用者權限
# 給予一般使用者非 admin 權限
#語法
GRANT [READ,WRITE,ALL] ON  TO 
#範例
GRANT READ ON "NOAA_water_database" TO "oscar"

#刪除一般使用者非 admin 權限
#語法
REVOKE [READ,WRITE,ALL] ON  FROM 
#範例
REVOKE ALL ON "NOAA_water_database" FROM "oscar"

#列出使用者權限
#語法
SHOW GRANTS FOR 
#範例
SHOW GRANTS FOR "oscar"

#重新設定使用者密碼
#語法
SET PASSWORD FOR  = ''
#範例
SET PASSWORD FOR oscar = '12345678'

#刪除使用者
#語法
DROP USER 
#範例
DROP USER "oscar"
 
#建立表,直接在插入資料的時候指定表名,其中test為表名
insert test,host=127.0.0.1,monitor_name=test count=1
 
#刪除表
drop measurement "measurement_name"
 
#查詢資料
select * from test order by time desc
 
#檢視當前資料庫的資料儲存策略(Retention Policies)
show retention policies on "db_name"
 
#建立新的資料儲存策略
#rp_name:策略名
#db_name:具體的資料庫名;
#3w:儲存3周,3周之前的資料將被刪除,influxdb具有各種事件引數,比如:h(小時),d(天),w(星期)
#replication 1:副本個數,一般為1就可以了
#default:設定為預設策略
create retention policy "rp_name" on "db_name" duration 3w replication 1 default
 
#修改資料儲存策略
alter retention policy "rp_name" on "db_name" duration 30d default
 
#刪除資料儲存策略
drop retention policy "rp_name"
 
#檢視資料庫的連續查詢(Continous Queries)
show continuous queries
 
#建立新的連續查詢(Continous Queries)
#cq_name:連續查詢名字
#db_name:資料庫名字
#sum(count):計算總和
#table_name:當前表名
#new_table_name:存新的資料的表名
#30m:時間間隔為30分鐘
create continous query cq_name on db_name begin select sum(count) into new_table_name from table_name group by time(30m) end
 
#刪除連續查詢
drop continous query cp_name on db_name

#
#開啟身份驗證
#開啟身份驗證之前, 請先建立至少一個 admin user
#如果開啟了身份驗證, 但是沒有任何 admin user 的話, InfluxDB 將不會強制執行身份驗證, 並只會接受建立新的 admin user的 query
#打開設定檔

vi /etc/influxdb/influxdb.conf
#將 [http] 中的 auth-enabled 更改為 true

[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true # ✨
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = true
  https-certificate = "/etc/ssl/influxdb.pem"
  
#重新啟動 InfluxDB

systemctl restart influxdb
#
show measurements

沒有留言:

張貼留言