InfluxDB安裝和簡單使用小結
InfluxDB是一個時序性數據庫,因為工作需求,安裝后使用測試下是否支持大數據下的業務場景
說明:
- 安裝最新版本 v1.6.0
- 集群版本要收費,單機版本免費
- 內部集成的web控制台被ko掉了
I. 安裝
直接到官網,查詢對應的下載安裝方式
安裝方式
SHA256: fa118d657151b6de7c79592cf7516b3d9fada813262d5ebe16516f5c0bf62039
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.0.x86_64.rpm
sudo yum localinstall influxdb-1.6.0.x86_64.rpm
服務啟動命令
# 啟動命令
service influxdb start
# 關閉命令
service influxdb stop
注意
默認占用8086/8088兩個端口號,可以根據自己的實際場景進行替換,進入配置文件 /etc/influxdb/influxdb.conf
查詢 bind-address,其中端口號對應的用處說明如下
# Bind address to use for the RPC service for backup and restore.
bind-address = "127.0.0.1:8088"
...
[http]
# Determines whether HTTP endpoint is enabled.
# enabled = true
# The bind address used by the HTTP service.
bind-address = ":8086"
II. 控制台簡單使用
influx提供了一個控制台進行簡單的操作,下面給出基本的使用姿勢,對於influxdb的一些概念性問題,放在下一篇專門給與說明
首先進入控制台
influx
# 如果修改了端口號,則需要顯示指定
# influx -port xxx
1. database相關
這個數據庫和我們平常接觸比較多的mysql中的數據庫差不多,使用姿勢也相差無幾
a. 顯示所有的數據庫
說明: >后面跟的是命令,后面的是輸出結果
> show databases
name: databases
name
----
_internal
hh_test
b. 創建數據庫
和mysql語法一致, create database xxx
> create database mytest
> show databases
name: databases
name
----
_internal
hh_test
mytest
c. 刪除數據庫
使用drop進行刪除,drop database xxx
> drop database mytest
> show databases
name: databases
name
----
_internal
hh_test
d. 選擇數據庫
> use hh_test
Using database hh_test
2. 表相關
在influxDB中,表不是我們傳統理解的table,在這里,專業術語叫做 measurement
(度量?)
查看所有的measurement的命令
show measurements;
name: measurements
name
----
trade
不同於mysql,沒有提供專門的創建表,新插入數據,就會自動創建一個不存在的表
1. 新增數據
insert <tbname>,<tags> <values> [timestamp]
說明:
- tbname : 數據表名稱
- tags : 表的tag域
- values : 表的value域
- timestamp :當前數據的時間戳(可選,沒有提供的話系統會自帶添加)
> insert students,addr=wuhan phone=124
> select * from students
name: students
time addr phone
---- ---- -----
1532514647456815845 wuhan 124
2. 查詢
查詢和sql類似,基本結構如下,但是有很多的限制,后面詳解
select * from table where condition group by xxx order by time asc limit 10
一個實例case
> insert students,addr=wuhan phone=124
> insert students,addr=wuhan phone=123
> insert students,addr=changsha phone=15
> select * from students where phone>0 group by addr order by time desc limit 10;
name: students
tags: addr=wuhan
time phone
---- -----
1532515056470523491 123
1532515052664001894 124
name: students
tags: addr=changsha
time phone
---- -----
1532515064351295620 15
3. 更新與刪除
當需要更新一個記錄時,直接覆蓋一個時間戳+所有的tag相等的即可
> select * from students
name: students
time addr phone
---- ---- -----
1532515052664001894 wuhan 124
1532515056470523491 wuhan 123
1532515064351295620 changsha 15
> insert students,addr=wuhan phone=111123 1532515052664001894
> select * from students
name: students
time addr phone
---- ---- -----
1532515052664001894 wuhan 111123
1532515056470523491 wuhan 123
1532515064351295620 changsha 15
刪除一條記錄,用delete命令
> select * from students
name: students
time addr phone
---- ---- -----
1532515052664001894 wuhan 111123
1532515056470523491 changsha 123
1532515056470523491 wuhan 123
> delete from students where time=1532515056470523491
> select * from students
name: students
time addr phone
---- ---- -----
1532515052664001894 wuhan 111123
4. 刪除表
drop measurement students
III. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的個人博客,記錄所有學習和工作中的博文,歡迎大家前去逛逛
2. 聲明
盡信書則不如,已上內容,純屬一家之言,因個人能力有限,難免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 掃描關注
小灰灰Blog&公眾號
知識星球