当前位置: > > > InfluxDB时序数据库的安装使用教程2(安装部署、命令行基本用法)

InfluxDB时序数据库的安装使用教程2(安装部署、命令行基本用法)

二、安装部署、基本用法

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 temperaturetag machine typeexternal 值为 25internal 值为 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 keystag valuesfield keys 始终是字符串,field values 可以是整数、浮点数、字符串和布尔值。

1,浮点数

默认是浮点数,InfluxDB 假定收到的所有 field value 都是浮点数。
// 以浮点类型存储82:
temperature,machine=unit42,type=assembly external=82 1435362189575692182

2,整数

添加一个 i field 之后,告诉 InfluxDB 以整数类型存储:
// 以整数类型存储82:
temperature,machine=unit42,type=assembly external=82i 1435362189575692182

3,字符串

双引号把字段值引起来表示字符串:
// 以字符串类型存储值too warm:
temperature,machine=unit42,type=assembly external="too warm" 1435362189575692182

4,布尔型

TRUE 可以用 tTtrueTrueTRUE;表示 FALSE 可以用 fFfalseFalse 或者 FALSE
// 以布尔类型存储值true
temperature,machine=unit42,type=assembly external=true 1435362189575692182
评论0