influx安装与使用

1.安装

(1)下载地址:安装 InfluxDB |InfluxDB OSS v2 文档 (influxdata.com)

image-20231118201836484

(2)把文件存放到安装目录

image-20231118202217263

(3)打开powershell,输入命令,程序安装完成

> cd D:\InfluxData
> ./influxd

image-20231118202516836

(4)此时也可以直接用influx UI界面登录(进行注册与登录)

image-20231118203920248

(5)下载influx CLI:安装和使用 influx CLI |InfluxDB Cloud (TSM) 文档 (influxdata.com)

image-20231118202849740

(6)把influx放在安装目录

image-20231118202940154

influx 命令无法被识别为可执行程序。这可能是因为 InfluxDB CLI 的安装目录尚未添加到系统的 PATH 环境变量中。

你可以根据以下步骤解决这个问题:

  1. 打开 Windows “开始” 菜单并搜索 “环境变量”,在搜索结果中选择 “编辑系统环境变量”。
  2. 点击 “环境变量” 按钮,然后在 “系统变量” 部分找到 “Path” 变量,并点击 “编辑” 按钮。
  3. 在 Path 的编辑窗口中,点击 “新建” 按钮,并添加 InfluxDB CLI 的安装目录路径,例如: D:\InfluxData\influx(根据你的实际安装路径进行修改)。
  4. 点击 “确定” 按钮,关闭环境变量设置窗口。
  5. 打开新的命令提示符(或者刷新现有命令提示符窗口),然后运行 influx 命令。

此时,InfluxDB CLI 将能够正确识别并运行,你可以连接到 InfluxDB 服务器并与其进行交互了。

image-20231118203600579

image-20231118203457314

2.使用

(1)新建组织

image-20231118204042012

保存好token,如果忘了,重建一个token:

image-20231118205216750

(2)新建桶

image-20231118204152991

(3)API管理数据库

  • 追加信息:
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS, PointSettings
import random
from datetime import datetime, timedelta
# 设置 InfluxDB 连接信息
token = "WLm6XlniAYUBShIX3TRPZxexiNWiDFpQNuEYwwBxX-CtxsBjv_N9pFiGa6KYuh1R0yVSlzW-9yZacGYYqceUng=="
url = "http://localhost:8086"
org = "mine"
bucket = "make"

# 创建 InfluxDB 客户端
write_client = InfluxDBClient(url=url, token=token, org=org)
write_api = write_client.write_api(write_options=SYNCHRONOUS)

start_time = datetime(2023, 11, 10)
# 循环生成数据
for i in range(10000):
    # 根据当前循环次数计算时间戳
    timestamp = start_time + timedelta(minutes=5 * i)
    
    # 创建数据点
    point = Point("my_measurement") \
        .field("psxs", 1.3 + random.random()) \
        .field("njl", 40 + random.random()) \
        .field("bsb", 22.5 + random.random()) \
        .time(timestamp)
    
    # 写入数据
    write_api.write(bucket=bucket, org=org, record=point)

print("数据写入完成")
  • 查询信息:
from influxdb_client import InfluxDBClient, QueryApi

token = "WLm6XlniAYUBShIX3TRPZxexiNWiDFpQNuEYwwBxX-CtxsBjv_N9pFiGa6KYuh1R0yVSlzW-9yZacGYYqceUng=="
url = "http://localhost:8086"
org = "mine"

client = InfluxDBClient(url=url, token=token, org=org)
query_api = client.query_api()

query = 'from(bucket: "make") ' \
        '|> range(start: 2023-11-15T00:00:00Z, stop: 2023-11-17T23:59:59Z) ' \
        '|> filter(fn: (r) => r["_measurement"] == "my_measurement") ' \
        '|> filter(fn: (r) => r["_field"] == "njl")'

result = query_api.query(org=org, query=query)
for table in result:
    for record in table.records:
        print(f'Time: {record.get_time()}, Value: {record.get_value()}')

image-20231118205505985

(4)influx查看

image-20231118204525826

image-20231118204712379

3.数据库使用前提

(1)powershell运行influxdb

image-20231118205313187

(2)登录指定数据库

image-20231118205354535

posted @ 2023-11-20 08:48  德琪  阅读(253)  评论(0编辑  收藏  举报