【InfluxDB】InfluxDB学习实践笔记
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 参考链接
- 系列教程:https://www.linuxdaxue.com/influxdb-study-series-manual.html
- 账号管理:https://blog.csdn.net/u014087707/article/details/52700946
【InfluxDB】InfluxDB学习实践笔记的更多相关文章
- 前端学习实践笔记--JavaScript深入【1】
这一年中零零散散看过几本javascript的书,回过头看之前写过的javascript学习笔记,未免有点汗颜,突出“肤浅”二字,然越深入越觉得javascript的博大精深,有种只缘身在此山中的感觉 ...
- 前端学习实践笔记--JavaScript深入【3】
这章主要讨论闭包和原型,以及面向对象和继承. 闭包 闭包充分利用了JS里面作用域的概念,作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量.使用闭包主要是为了读取函数内部的变量或者将函数内部 ...
- 前端学习实践笔记--JavaScript深入【2】
趁热继续再来学习一波,接下来主要介绍函数,object,数组,面向对象,new实例化. 在介绍“对象”之前,首先得梳妆打扮一番吧,那这梳妆打扮主要有两条路线,一条是淑女范(利用函数对象化),一条是邻家 ...
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- spring boot +RabbitMQ +InfluxDB+Grafara监控实践
本文需要有相关spring boot 或spring cloud 相关微服务框架的基础,如果您具备相关基础可以很容易的实现下述过程!!!!!!! 希望本文的所说对需要的您有所帮助 从这里我们开始进入闲 ...
- hadoop2.5.2学习及实践笔记(四)—— namenode启动过程源码概览
对namenode启动时的相关操作及相关类有一个大体了解,后续深入研究时,再对本文进行补充 >实现类 HDFS启动脚本为$HADOOP_HOME/sbin/start-dfs.sh,查看star ...
- Influxdb时序数据库阅读笔记
时序数据库 2017年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平 ...
- influxDB初步学习
influxdb的安装等操作在我的文章. 首先得装influxdb,其次操作如下. application.properties spring.datasource.test1.jdbc-url=jd ...
- ReactNative学习实践--Navigator实践
离上次写RN笔记有一段时间了,期间参与了一个新项目,只在最近的空余时间继续学习实践,因此进度比较缓慢,不过这并不代表没有新进展,其实这个小东西离上次发文时已经有了相当大的变化了,其中影响最大的变化就是 ...
随机推荐
- Python3.7版本unittest框架添加用例的方法
1.实例demo是用谷歌浏览器在百度首页搜python的动作脚本: BaiDu_test是指脚本中自己定义的类名,test_get是指你的类中定义的testcase方法. 在if name函数 ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError : unsupported major.minor version 52.0
新建好springboot项目后,打开application运行main方法报如下错. 1.问题:Exception in thread "main" java.lang.Unsu ...
- 关于Eclipse导入项目jsp出现红色叉的解决办法
简单图解概括 右击项目 到这里就ok 如果没解决就检查下以下三个地方的版本是否一致 如果还不行,有什么疑问可以留言,我会及时帮助解决的
- Exp4 恶意代码分析 20154320 李超
恶意代码 概述 恶意代码是指故意编制或设置的.对网络或系统会产生威胁或潜在威胁的计算机代码.最常见的恶意代码有计算机病毒(简称病毒).特洛伊木马(简称木马).计算机蠕虫(简称蠕虫).后门.逻辑炸弹等. ...
- Linux 入门视频教程
http://v.youku.com/v_show/id_XNzM4NTU0MjQ4.html?f=28697585&o=1 1.1.1 Linux系统简介-UNIX发展历史和发行版本http ...
- api controller 接口接收json字符串参数
{"data":{"alarmRepeatTimes":2,"currentMode":1,"moduleResetTimeout ...
- asp.net项目配置Web.config,支持JSON
VS2013新建的web项目不支持直接下载json文件,可以在项目的web.config下插入如下的配置信息. <configuration> <system.web> < ...
- JAVA RSA非对称加密详解[转载]
一.概述1.RSA是基于大数因子分解难题.目前各种主流计算机语言都支持RSA算法的实现2.java6支持RSA算法3.RSA算法可以用于数据加密和数字签名4.RSA算法相对于DES/AES等对称加密算 ...
- 画PCB
1.AD16Design中Boardshape没有redefine board shape选项来修改板子的形状:{ 解决办法:在英文输入模式下按“1”键整个界面会变绿,此时就会有redefine bo ...
- ANDROID说说对MENU的理解
ANDROID%E5%88%9D%E5%AD%A6%E4%B9%8B%E7%AE%80%E6%98%93%E8%AE%A1%E7%AE%97%E5%99%A8 Ѿ�����ڴ����㺰ô�