InfluxDB是用Go编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。它与Elasticsearch、Graphite等类似。比较适用于与事件紧密相关的数据,例如实时日志数据、实时监控数据等,详细信息可以自行网上搜索。

0x00 环境信息

基本信息:

  • 系统:CentOS7.2
  • IP地址:xx.xx.xx.xx
  • 端口号:30040
  • 运行环境:K8S测试集群中
  • InfluxDB版本:1.5.1(该版本不再提供web界面)
  • InfluxDB用户名:admin
  • InfluxDB密码:admin

0x01 基本操作

InfluxDB支持三种方式的通信方式:

  • InfluxDB客户端命令行
  • HTTP API
  • 各编程语言库

下面演示采用InfluxDB客户端命令行方式。

1、连接、认证

在windows系统中使用InfluxDB客户端命令行连接数据库,并进行认证:

注意,本地必须存在influxdb的一套指令程序,包括下面几个:

2、数据库操作

  • show databases 查看数据库
  • create database db_name 创建数据库
  • drop database db_name 删除数据库
  • use db_name 选择数据库

其中db_name表示具体的数据库名。
实际操作如下:

3、measurement操作

InfluxDB中的measurement类似于关系数据库中的数据表,后文中全部称其为数据表。

  • show measurements 查看表
  • insert measurement_name,tags fields timestamp 因为没有显示的创建表语句,所以通过向表中插入数据来创建表
  • drop measurement measurement_name 删除表

其中,measurement_name代表具体的表名。在插入数据时有特定的格式要求,例如:

insert server_info,server_name=server1 cpu=intel,ram_capacity= timestamp

其中,从左到右依次为表名、逗号、tags<key-value,可多个>、空格、fields<key-value,可多个>、空格、timestamp,其中多个tags之间使用逗号分隔,多个fields之间使用逗号分隔。

4、数据操作(增删改查)

(1)新增数据

假设数据表格式如下面语句所示:

insert server_info,server_name=server1 cpu=intel,ram_capacity= timestamp

由上图结果可知,在插入数据时,可以不指定timestamp,此时数据库会自动添加。

(2)查询数据

查询数据使用SQL语句实现,同关系型数据库的查询方式几乎相同。如上图中所示。

(3)修改和删除数据

由于InfluxDB是时序数据库,所以未提供修改和删除数据的操作。不过,数据删除可以通过数据保存策略(Retention Policies)来自动实现。

5、series操作

series表示数据表中特定tags对应的数据,比如上面的表server_info,该表中保存了多个服务器的数据,不同服务器通过tags中的server_name不同值来表示,假如现在表中数据如下:

则此时series则表示不同服务器的cpu、ram_capacity随时间变化的一系列值。

6、账号管理

  • 查看账号:show users
  • 创建普通账号:create user “username”/username with password ‘password’,貌似创建的普通账号并没有什么数据库操作权限
  • 创建管理和账号:create user “username”/username with password ‘password’ with all privileges
  • 删除账号:drop user “username”/username
  • 设置账号密码:set password for username=’password’

其中,账号支持两种书写方式:英文双引号括起来、直接账号字符串,而密码则必须以英文单引号括起来,否则会出错。

0x02 参考链接

【InfluxDB】InfluxDB学习实践笔记的更多相关文章

  1. 前端学习实践笔记--JavaScript深入【1】

    这一年中零零散散看过几本javascript的书,回过头看之前写过的javascript学习笔记,未免有点汗颜,突出“肤浅”二字,然越深入越觉得javascript的博大精深,有种只缘身在此山中的感觉 ...

  2. 前端学习实践笔记--JavaScript深入【3】

    这章主要讨论闭包和原型,以及面向对象和继承. 闭包 闭包充分利用了JS里面作用域的概念,作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量.使用闭包主要是为了读取函数内部的变量或者将函数内部 ...

  3. 前端学习实践笔记--JavaScript深入【2】

    趁热继续再来学习一波,接下来主要介绍函数,object,数组,面向对象,new实例化. 在介绍“对象”之前,首先得梳妆打扮一番吧,那这梳妆打扮主要有两条路线,一条是淑女范(利用函数对象化),一条是邻家 ...

  4. hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse

    生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...

  5. spring boot +RabbitMQ +InfluxDB+Grafara监控实践

    本文需要有相关spring boot 或spring cloud 相关微服务框架的基础,如果您具备相关基础可以很容易的实现下述过程!!!!!!! 希望本文的所说对需要的您有所帮助 从这里我们开始进入闲 ...

  6. hadoop2.5.2学习及实践笔记(四)—— namenode启动过程源码概览

    对namenode启动时的相关操作及相关类有一个大体了解,后续深入研究时,再对本文进行补充 >实现类 HDFS启动脚本为$HADOOP_HOME/sbin/start-dfs.sh,查看star ...

  7. Influxdb时序数据库阅读笔记

    时序数据库 2017年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平 ...

  8. influxDB初步学习

    influxdb的安装等操作在我的文章. 首先得装influxdb,其次操作如下. application.properties spring.datasource.test1.jdbc-url=jd ...

  9. ReactNative学习实践--Navigator实践

    离上次写RN笔记有一段时间了,期间参与了一个新项目,只在最近的空余时间继续学习实践,因此进度比较缓慢,不过这并不代表没有新进展,其实这个小东西离上次发文时已经有了相当大的变化了,其中影响最大的变化就是 ...

随机推荐

  1. 86、UIWindow简单介绍

    一.介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow ios程序启动完毕后,创建的第一个视图控制器 ,接着创建控制器的view,最后将控制器的view添加到 ...

  2. Android手机插上usb能充电但不能识别的一种解决方法

    设备要求 已root的Android手机. 背景 这个方法是意外发现的,最初同事有一台测试机插上usb能充电但不能识别,他让我帮他看看怎么回事,于是我就按照常规套路,开发者模式.usb调试.MTP什么 ...

  3. 第45章:MongoDB-集群--Sharding(分片)--分片的管理

    ①列出所有的Shard db.runCommand({“listshards”:1}); ②查看分片信息 db.printShardingStatus(); ③判断是否分片 db.runCommand ...

  4. LoRa与NB-IoT对比(转载)

    物联网的基本架构包括三个层面:感知层.网络层和应用层. 物联网架构图 感知层通过传感器采集某些数据(声.光.电等),基于网络层的终端模组,对接到网络层的基站,实现数据采集后的传输. 网络层负责将感知层 ...

  5. Xamarin常见问题

    1. Could not locate Java 6 or 7 SDK. (Download from http://www.oracle.com/technetwork/java/javase/do ...

  6. linux vi如何保存编辑的文件

    按ESC键回到命令模式,输入:w保存即可,或者输入:wq!保存文件并退出. 以下是保存命令: :w   保存文件但不退出vi . :w file 将修改另外保存到file中,不退出vi . :w!   ...

  7. Python 字符串十六进制流

    字符串转十六进制绕过特征检测SQL注入 Python中内置库与出色第三方库的学习 # 字符串转十六进制 mystr = "hello world" print(":&qu ...

  8. MAC OS 更新GIT版本时遇到的问题

    在更新git版本时,没有备份就删掉了原先的版本,在安装完2.18.0的新版本后,使用命令行git --version,返回错误git not a developer tool or in PATH. ...

  9. visual studio 2015 Opencv 3.4.0配置

    因为想做AR方面,需要了解计算机视觉知识,决定从opencv开始入门,在网上买了本毛星云的<Opencv3编程入门>开始自学. 一.opencv 3.4.0下载安装 在官网http://o ...

  10. easyui 日期控件,选择日期小于等于当前日期,开始日期小于等于结束日期

    转载出处:http://blog.csdn.net/u013755149/article/details/76613028 $(function(){ $('#start_date').datebox ...