
InfluxDB安裝和簡單使用小結
InfluxDB是一個時序性資料庫,因為工作需求,安裝後使用測試下是否支援大資料下的業務場景
說明:
- 安裝最新版本 v1.6.0
- 叢集版本要收費,單機版本免費
- 内部內建的web控制台被ko掉了
I. 安裝
直接到官網,查詢對應的下載下傳安裝方式
- Installing InfluxDB OSS
安裝方式
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
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
# 啟動指令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"
# 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
influx# 如果修改了端口号,則需要顯示指定# influx -port xxx
1. database相關
這個資料庫和我們平常接觸比較多的mysql中的資料庫差不多,使用姿勢也相差無幾
a. 顯示所有的資料庫
說明:
>後面跟的是指令,後面的是輸出結果
> show databases
name: databases
name
----
_internal
hh_test
> 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
> 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
> drop database mytest
> show databases
name: databases
name
----
_internal
hh_test
d. 選擇資料庫
> use hh_testUsing database hh_test
> use hh_testUsing database hh_test
2. 表相關
在influxDB中,表不是我們傳統了解的table,在這裡,專業術語叫做
measurement
(度量?)
檢視所有的measurement的指令
show measurements;
name: measurements
name
----
trade
show measurements;
name: measurements
name
----
trade
不同于mysql,沒有提供專門的建立表,新插入資料,就會自動建立一個不存在的表
1. 新增資料
insert <tbname>,<tags> <values> [timestamp]
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
> 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
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
> 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 1241532515056470523491 wuhan 1231532515064351295620 changsha 15> insert students,addr=wuhan phone=111123 1532515052664001894> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 1111231532515056470523491 wuhan 1231532515064351295620 changsha 15
> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 1241532515056470523491 wuhan 1231532515064351295620 changsha 15> insert students,addr=wuhan phone=111123 1532515052664001894> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 1111231532515056470523491 wuhan 1231532515064351295620 changsha 15
删除一條記錄,用delete指令
> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 1111231532515056470523491 changsha 1231532515056470523491 wuhan 123> delete from students where time=1532515056470523491> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 111123
> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 1111231532515056470523491 changsha 1231532515056470523491 wuhan 123> delete from students where time=1532515056470523491> select * from students
name: students
time addr phone
---- ---- -----1532515052664001894 wuhan 111123
drop measurement students
drop measurement students
III. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
2. 聲明
- 微網誌位址: 小灰灰Blog