InfluxDb简单使用

本文介绍了InfluxDB数据库的下载、安装、配置过程,重点讲解了其数据存储结构、关键配置、操作方法和查询语言。特别强调了点(point)的特性和数据类型,以及如何创建数据库、表并进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单介绍:

 influxdb中的属性与一般数据库比对图如下所示:

1、下载地址

2、解压安装包

3、修改配置文件

InfluxDB 的数据存储主要有三个目录。默认情况下是 meta, wal 以及 data 三个目录,服务器运行后会自动生成。
meta
用于存储数据库的一些元数据,meta 目录下有一个 meta.db 文件。
wal
目录存放预写日志文件,以 .wal 结尾。
data 
目录存放实际存储的数据文件,以 .tsm 结尾。
如果不使用 influxdb.conf 配置的话,那么直接双击打开 influxd.exe 就可以使用influx,此时上面三个文件夹的目录则存放在Windows系统的C盘User目录下的.Influx目录下,默认端口为8086,以下为修改文件夹地址,以及端口号方法。

4、开启InfluxDb

可以直接打开Influxd.exe,也可以采用命令启动,使用命令时可以指定配置文件和端口号。( 运行influx.exe 时,influxd.exe不可关闭。
启动成功

5、其他配置

一些配置项的汉化注释已加在文件中

6、常用操作

Influxd.exe 正常运行的情况下打开 Influx.exe,链接成功后如图所示,若链接失败需要检查地址和端口是否一致
显示所有数据库
show databases
创建数据库
create database .....
使用数据库
use ....
显示所有表 (没有表则不返回)
show measurements
新建表和插入数据 新建表没有具体的语法,只是增加第一条数据时,会自动建立表
语法:<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

influxdb的point比较特殊,一个point(行)包括了timestamp(时间戳),tags(带索引),fields(不带索引)这几种属性

 field中有四种存储类型,分别是int, float, string, boolean,用法为

数据查询
select * from  ...
删除表
drop measurement ...
显示所有用户
show users
创建 普通用户: create user "..." with password '...'
创建 管理员用户: create user "..." with password '...' with all privileges
删除用户:  drop user "..."
### 如何使用InfluxDB管理时间序列数据 #### 安装与配置InfluxDB 为了有效地利用InfluxDB来处理时间序列数据,安装过程至关重要。通常情况下,在官方文档中可以找到详细的安装指南[^2]。对于大多数Linux发行版而言,可以通过包管理器轻松完成安装;而对于Windows用户,则建议下载并运行可执行文件。 #### 数据写入方式 向InfluxDB写入数据主要通过两种途径实现:HTTP API 和 Telegraf插件。其中最常用的是基于Line Protocol协议的HTTP POST请求方法。下面是一个简单的Python脚本例子用于发送POST请求给InfluxDB: ```python import requests from datetime import datetime def write_data_to_influxdb(host='localhost', port=8086, db_name="test", measurement="cpu_load_short"): url = f"http://{host}:{port}/write?db={db_name}" current_time = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ') body = [ f"{measurement},host=server01 value=0.64 {int(datetime.timestamp(current_time)*1e9)}" ] response = requests.post(url=url, data='\n'.join(body)) return response.status_code == 204 ``` 此函数`write_data_to_influxdb()`接受几个参数作为输入,并构建了一个符合Line Protocol格式的数据字符串,最后将其提交到指定数据库中。 #### 查询功能介绍 查询语句采用SQL风格编写,但具有针对时间戳优化的特点。例如要获取过去一天内CPU负载超过75%的所有记录,可以用如下命令: ```sql SELECT * FROM cpu WHERE time >= now() - 1d AND "value" > 0.75; ``` 这使得开发者能够方便快捷地检索所需的时间范围内的特定条件下的历史数据。 #### 高效存储策略设定 考虑到长时间保存大量细粒度的时间序列可能会占用过多磁盘空间,因此合理规划保留政策(Retention Policy)非常重要。创建一个新的RP只需一条简单指令即可完成: ```bash CREATE RETENTION POLICY "one_week_only" ON "mydb" DURATION 7d REPLICATION 1 DEFAULT ``` 上述命令将在名为`mydb`的数据库上建立一个为期一周的数据保持期限,并设为默认选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值