Influx Sql系列教程零:安装及influx-cli使用姿势介绍

influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Query Language (InfluxQL)

influx已经推出2.0beta版本,并没有使用,后面的所有都是以1.7版本进行说明

I. 安装

安装教程,直接参考官网链接,installing-influxdb-oss,下面只介绍centos/macos两个操作系统的安装姿势

1. centos

通过yum包管理方式实现安装最新的稳定版, 在终端中输入

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

然后就可以按照常见的yum方式进行安装

sudo yum install influxdb
# 启动
sudo service influxdb start
# 7+ 版本可以使用 systemctl 方式启动
sudo systemctl start influxdb

2. macos

mac推荐通过homebrew方式进行安装,命令也比较简单

brew update
brew install influxdb

3. 相关配置

一般安装完毕之后,如果作为测试的话,直接使用并没有啥问题;但是实际的成产环境中,铁定是需要修改默认配置的

如果需要开启权限校验,访问时需要用户名密码时,可以参考: 190505-InfluxDB之权限管理

如果需要修改数据的存储位置,访问端口号等,可以参考: 190506-InfluxDB之配置修改

II. influx-cli

安装完毕之后,influx自带了一个控制台访问操作的工具: influx,在正式进入后面的influxsql之前,有必要了解一下这个工具如何使用,因为后面的sql,都是需要在它上面玩耍的

官方也给出了它的使用文档,有兴趣的可以参考: InfluxDB command line interface (CLI/shell)

1. 参数

默认情况下,我们直接在控制台输入 influx 之后就可以进入与influxdb交互的终端界面,如果我们修改了influx的默认配置,比如增加了用户名/密码时,这个时候可能需要使用参数来链接到influxdb了

下面给出几个常用的参数

参数 示例 说明
-username admin 配置访问用户名
-password admin 配置访问密码
-format json csv column 格式化输出结果
-host localhost influxdb提供访问的域名或ip
-port 8086 influxdb提供访问的端口号
-precisoin rfc3339(h,m,s,ms,u,ns) 指定time时间戳格式化

一个简单的使用case如下

2. 使用示例

上面的参数是在连接的时候直接指定了,这些参数在连接之后,也是可以再指定的,下面给出以下常用的使用姿势

a. help

直接输入help,会给出一些命令提示

b. auth

因为直接使用前面的方式输入用户名和密码的方式,并不安全,所以推荐的方式是直接influx进去之后,使用auth来权限校验,这种思路和redis-cli的差不多

c. pretty

是输出更加友好的方式,配合-format=json的时候比较合适

注意pretty输入一次表示开启,再输入一次表示关闭

d. precision

时间戳格式化,对人更友好的显示方式

直接输入: precision rfc3339

e. history

influx-cli会保存历史命令(不包括auth),所以可以通过输入这个来查询之前的命令

f. 退出

三种方式

exit/quit/ctrl+d      quits the influx shell

II. 其他

0. 系列博文

以上内容主要参考自官方文档:

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

原文地址:https://www.cnblogs.com/yihuihui/p/11386667.html

时间: 2024-08-28 19:45:12

Influx Sql系列教程零:安装及influx-cli使用姿势介绍的相关文章

Influx Sql系列教程二:retention policy 保存策略

retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用 I. 基本操作 1. 创建retention policy retention policy依托于database存在,也就是说保存策略创建时,需要指定具体的数据库,语法如下 CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DUR

Influx Sql系列教程四:series/point/tag/field

influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集构成:本篇教程将介绍一些这几个概念 1. tag influxdb数据结构中记录元数据(metadata)的kv对,不要求必须存在,tag key/value 都是字符串类型,而且会建立索引,因此基于tag进行查询效率比单纯的基于field进行查询是要高的:后续的一些sql也会发现,某些查询只能基于

Influx Sql系列教程五:insert 添加数据

接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程 I. Insert 使用说明 基本语法 insert into <retention policy> measurement,tagKey=tagValue fieldKey=fieldValue timestamp 1. 基本写数据姿势 当m

Influx Sql系列教程九:query数据查询基本篇二

前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇 0. 数据准备 在开始查询之前,先看一下我们准备的数据,其中name,phone为tag, age,blog,id为field > select * from yhh name: yhh time age blog id name

Influx Sql系列教程六:insert 修改数据

在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢? 1. insert数据修改 关于insert的使用语法,可以参考上一篇博文:190726-Influx Sql系列教程五:insert 添加数据 这里只是贴一下基本语法 insert into <retention policy> measurement,tagKey=tagValue fieldK

Influx Sql系列教程八:query数据查询基本篇

前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 在开始之前,先看一下供查询的数据 > show measurements name: measurements name ---- yhh > select * from yhh name: yhh time age blog id name phone ---- --- ---- -- ---

Influx Sql系列教程七:delete 删除数据

前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据 1. delete 语句 delete的官方语法如下 DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>] delete语句和我们常见sql语法有点像,但是注意一下上面的where中的条件,只允许根据tag和时间来进行删除操作 下面给出几个

Influx Sql系列教程三:measurement 表

在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存很多的数据.虽然可将measurement类比为mysql中的表,但是他们之间的差别也挺明显的 首先我们先了解一下measurement的几个常用命令,如何查看.新增删除 1. show measurements 查看一个数据库中有哪些measurement,属于常规操作了 先确定数据库 执行sho

Influx Sql系列教程一:database 数据库

对于influxdb而言,database和我们更熟悉的mysql中的dababse没有什么特别的区别,可以将数据库简单理解为一堆表(measurement)的集合,接下来我们将看一下在influxdb中,database的常规操作 1. 查看当前数据库 如果需要查询当前有哪些数据库,可以通过show语句来实现 show database 上面的_internal是内置的数据库 2. 创建数据库 create database yhh 创建一个名为yhh的数据库 3. 使用数据库 如果需要查询某