influxdb时序数据库常用命令

发布于:2024-07-11 ⋅ 阅读:(15) ⋅ 点赞:(0)

前言

InfluxDB时序数据库常用命令主要涉及用户管理、数据库管理、数据操作(增删改查) 等方面。以下是根据多个来源整理的InfluxDB常用命令及其说明:

一、用户管理

1. 登录用户

> auth
username: admin
password:
>

2. 查看用户

SHOW USERS

3. 创建普通用户

CREATE USER "username" WITH PASSWORD 'password'

4. 创建管理员用户

CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES

5. 修改用户密码

SET PASSWORD FOR "username" = 'newpassword'

6. 权限授予
授予用户对数据库的所有权限

GRANT ALL PRIVILEGES ON db_name TO "username"

授予用户对所有数据库的所有权限

GRANT ALL PRIVILEGES TO "username"

7. 权限撤销
撤销用户对数据库的所有权限

REVOKE ALL PRIVILEGES ON db_name FROM "username"

撤销用户对所有数据库的所有权限

REVOKE ALL PRIVILEGES FROM "username"

二、数据库管理

1. 查看所有数据库

SHOW DATABASES

2. 创建数据库

CREATE DATABASE db_name

3. 删除数据库

DROP DATABASE db_name

4. 使用某个数据库

USE db_name

三、数据操作

1. 插入数据
InfluxDB中没有显式的新建表的语句,表(在InfluxDB中称为measurement)会在插入数据时自动创建。

INSERT INTO measurement_name,tag1=value1,tag2=value2 field_key=field_value [timestamp]

measurement_name:表名(测量指标名)。
tag1=value1,tag2=value2:索引(标签),用于快速查询。
field_key=field_value:字段名和字段值,字段值可以是数值、浮点型、布尔型等。
[timestamp]:时间戳,如果不指定则自动添加当前时间戳。

2. 查询数据

SELECT * FROM "measurement_name" WHERE condition LIMIT N

*:表示选择所有字段。
condition:查询条件,可以使用WHERE子句指定。
LIMIT N:限制返回的记录数。
还可以使用GROUP BYORDER BY等子句进行分组和排序。

3. 查看表(measurement)信息
查看所有表(measurement)

SHOW MEASUREMENTS

查看表的tag key

SHOW TAG KEYS FROM "measurement_name"

查看表的field key

SHOW FIELD KEYS FROM "measurement_name"

查看表的series

SHOW SERIES FROM "measurement_name"

4. 删除数据
InfluxDB没有直接删除单条记录的命令,但可以通过删除measurement(表)或配置数据保留策略来删除数据。
删除measurement(表)

DROP MEASUREMENT "measurement_name"

配置数据保留策略(Retention Policy, RP)
创建RP

CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 3w REPLICATION 1 DEFAULT

修改RP

ALTER RETENTION POLICY "rp_name" ON "db_name" DURATION 30d DEFAULT

删除RP

DROP RETENTION POLICY "rp_name" ON "db_name"

注意事项

以上命令主要适用于InfluxDB 1.x版本,InfluxDB 2.x版本的语法和命令有所不同,特别是查询语言从InfluxQL变为了Flux。
在使用InfluxDB时,应确保已正确安装并配置了数据库环境。
对于生产环境中的数据操作,建议先在测试环境中进行验证,以避免数据丢失或损坏。