二、安裝部署、基本用法
1,安裝啟動
(1)首先訪問 InfluxDB 官網(
點擊訪問),找到選擇合適的版本:

(2)假設我們服務器是 CentOS,執行如下命令下載 rpm 文件:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.2.x86_64.rpm
(3)下載后執行如下命令進行安裝:
sudo yum localinstall influxdb-1.8.2.x86_64.rpm
(4)安裝后執行如下命令即可以啟動 InfluxDB:
systemctl start influxdb
(5)最后還可以執行如下命令設為開機啟動:
systemctl enable influxdb
2,連接 InfluxDB
InfluxDB 安裝運行后,我們執行 influx 命令連接到本地的 InfluxDB 實例上:
說明:
- InfluxDB 的 HTTP 接口默認起在 8086 上,所以 influx 默認也是連的本地 的8086 端口
- -precision 參數表明了任何返回的時間戳的格式和精度,在上面的例子里,rfc3339 是讓 InfluxDB 返回 RFC339 格式(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)的時間戳。
influx -precision rfc3339
3,操作數據庫
(1)第一次安裝好 InfluxDB 之后是沒有數據庫的,我們執行如下命令創建一個名為 mydb 的數據庫:
說明:數據庫的名字可以是被雙引號引起來的任意 Unicode 字符。 如果名稱只包含 ASCII 字母,數字或下划線,並且不以數字開頭,那么也可以不用引起來。
CREATE DATABASE mydb
(2)執行如下命令可以顯示當前所有的數據庫:
SHOW DATABASES
(3)執行如下命令則刪除指定數據庫:
DROP DATABASE mydb
(4)執行如下命令使用指定數據庫:
USE mydb
4,插入數據(新建表)
(1)InfluxDB 中沒有顯式的新建表的語句,只能通過 insert 數據的方式來建立新表。
- 比如我們執行如下命令,將單條的時間序列數據到 InfluxDB 中。這樣一個 measurement 為 temperature,tag 是 machine 和 type,external 值為 25,internal 值為 37 的數據點被寫入了 InfluxDB 中:
注意:field values 可以是整數、浮點數、字符串和布爾值,不同類型數據的插入規范見本文末尾附錄部分。
INSERT temperature,machine=unit42,type=assembly external=25,internal=37
- 上面語句系統會自動追加時間戳,當然我們也可以在添加數據時,自己寫入時間戳:
INSERT temperature,machine=unit42,type=assembly external=25,internal=37 1435362189575692182
(2)執行如下命令可以顯示所有表:
SHOW MEASUREMENTS
(3)而執行如下命令可以刪除指定的表:
DROP MEASUREMENT temperature
5,查詢數據
(1)執行如下命令我們可以將前面添加的數據查詢出來:
SELECT "machine", "type", "external", "internal" FROM "temperature"
(2)如果查詢的時候想要返回所有的字段和 tag,可以用 *:
SELECT * FROM "temperature"
附:各類型的 Field value 插入時的規范
不同於 tag keys,tag values,field keys 始終是字符串,field values 可以是整數、浮點數、字符串和布爾值。
1,浮點數
默認是浮點數,InfluxDB 假定收到的所有 field value 都是浮點數。
// 以浮點類型存儲82: INSERT temperature,machine=unit42,type=assembly external=82 1435362189575692182
2,整數
添加一個 i 在 field 之后,告訴 InfluxDB 以整數類型存儲:
// 以整數類型存儲82: INSERT temperature,machine=unit42,type=assembly external=82i 1435362189575692182
3,字符串
雙引號把字段值引起來表示字符串:
// 以字符串類型存儲值too warm: INSERT temperature,machine=unit42,type=assembly external="too warm" 1435362189575692182
4,布爾型
示 TRUE 可以用 t、T、true、True、TRUE;表示 FALSE 可以用 f、F、false、False 或者 FALSE:
// 以布爾類型存儲值true INSERT temperature,machine=unit42,type=assembly external=true 1435362189575692182