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. 系列博文
- 190509-InfluxDb之时间戳显示为日期格式
- 190506-InfluxDB之配置修改
- 190505-InfluxDB之权限管理
- 180727-时序数据库InfluxDB之备份和恢复策略
- 180726-InfluxDB基本概念小结
- 180725-InfluxDB-v1.6.0安装和简单使用小结
以上内容主要参考自官方文档:
- installing-influxdb-oss
- InfluxDB command line interface (CLI/shell)
- Influx Query Language (InfluxQL)
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 扫描关注
一灰灰blog
Influx Sql系列教程零:安装及influx-cli使用姿势介绍的更多相关文章
- Influx Sql系列教程二:retention policy 保存策略
retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用 I. 基本操作 1. 创建re ...
- Influx Sql系列教程九:query数据查询基本篇二
前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持 在开始本文之前,建议先阅读上篇博文: 1 ...
- Influx Sql系列教程八:query数据查询基本篇
前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别 ...
- Influx Sql系列教程七:delete 删除数据
前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据 1. delete 语句 delete的官方语法如下 DELETE FROM <me ...
- Influx Sql系列教程六:insert 修改数据
在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢? 1 ...
- Influx Sql系列教程五:insert 添加数据
接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...
- Influx Sql系列教程四:series/point/tag/field
influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集 ...
- Influx Sql系列教程三:measurement 表
在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存 ...
- Influx Sql系列教程一:database 数据库
对于influxdb而言,database和我们更熟悉的mysql中的dababse没有什么特别的区别,可以将数据库简单理解为一堆表(measurement)的集合,接下来我们将看一下在influxd ...
随机推荐
- C# 反射(转)
什么是反射 Reflection,中文翻译为反射. 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’.‘模块(Module)’.‘类型 ...
- Django API接口FK ManyTo Many 模板
Url from django.contrib import admin from django.urls import path, re_path from django.urls import i ...
- Django REST framework版本控制
参考链接:https://www.cnblogs.com/liwenzhou/p/10269268.html 1.路由: #版本控制 re_path('^(?P<version>[v1|v ...
- LeetCode 1000. Minimum Cost to Merge Stones
原题链接在这里:https://leetcode.com/problems/minimum-cost-to-merge-stones/ 题目: There are N piles of stones ...
- SuperHyperMarket(优先队列+重载)
SuperHyperMarket(优先队列+重载) 具体见代码注释 /* */ #include <iostream> #include <cstring> #include ...
- pxe问题
可能镜像路径问题 https://blog.csdn.net/geek_tank/article/details/69479196 一.vmlinuz vmlinuz是可引导的.压缩的内核.“vm”代 ...
- magento2重写virtualType并且传参
今天遇到一个需求需要重写一个block,但是这个block是应用virtualType实现,所以需要先重写virtualType,然后却因为参数丢失而获取不到正确的结果.因此,查阅文档,需要用type ...
- Java 面向对象(九)
常用类之Random Random类位于 java.util 包中,主要用于生成伪随机数 Random类将种子数作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 创建Random ...
- 数据库sql优化总结之5--数据库SQL优化大总结
数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...
- ISO/IEC 9899:2011 引言
引言 1.伴随着新的设备以及扩展字符集的引入,可能会将新的特性添加到此国际标准中.在此语言和库条款中的子条款提醒了实现者与程序员可能会与将来所新增特性产生冲突的用法,尽管它们现在本身是合法有效的. 2 ...