influxdb时序数据库常用命令

前言

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

一、用户管理

1. 登录用户

java 复制代码
> auth
username: admin
password:
>

2. 查看用户

java 复制代码
SHOW USERS

3. 创建普通用户

java 复制代码
CREATE USER "username" WITH PASSWORD 'password'

4. 创建管理员用户

java 复制代码
CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES

5. 修改用户密码

java 复制代码
SET PASSWORD FOR "username" = 'newpassword'

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

java 复制代码
GRANT ALL PRIVILEGES ON db_name TO "username"

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

java 复制代码
GRANT ALL PRIVILEGES TO "username"

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

java 复制代码
REVOKE ALL PRIVILEGES ON db_name FROM "username"

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

java 复制代码
REVOKE ALL PRIVILEGES FROM "username"

二、数据库管理

1. 查看所有数据库

java 复制代码
SHOW DATABASES

2. 创建数据库

java 复制代码
CREATE DATABASE db_name

3. 删除数据库

java 复制代码
DROP DATABASE db_name

4. 使用某个数据库

java 复制代码
USE db_name

三、数据操作

1. 插入数据

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

java 复制代码
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. 查询数据

java 复制代码
SELECT * FROM "measurement_name" WHERE condition LIMIT N

*:表示选择所有字段。
condition:查询条件,可以使用WHERE子句指定。
LIMIT N:限制返回的记录数。

还可以使用GROUP BY、ORDER BY等子句进行分组和排序。

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

java 复制代码
SHOW MEASUREMENTS

查看表的tag key

java 复制代码
SHOW TAG KEYS FROM "measurement_name"

查看表的field key

java 复制代码
SHOW FIELD KEYS FROM "measurement_name"

查看表的series

java 复制代码
SHOW SERIES FROM "measurement_name"

4. 删除数据

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

java 复制代码
DROP MEASUREMENT "measurement_name"

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

java 复制代码
CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 3w REPLICATION 1 DEFAULT

修改RP

java 复制代码
ALTER RETENTION POLICY "rp_name" ON "db_name" DURATION 30d DEFAULT

删除RP

java 复制代码
DROP RETENTION POLICY "rp_name" ON "db_name"

注意事项

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

相关推荐
库库林_沙琪马1 小时前
Redis 持久化:从零到掌握
数据库·redis·缓存
牵牛老人3 小时前
Qt中使用QPdfWriter类结合QPainter类绘制并输出PDF文件
数据库·qt·pdf
卡西里弗斯奥4 小时前
【达梦数据库】dblink连接[SqlServer/Mysql]报错处理
数据库·mysql·sqlserver·达梦
温柔小胖5 小时前
sql注入之python脚本进行时间盲注和布尔盲注
数据库·sql·网络安全
杨俊杰-YJ6 小时前
MySQL 主从复制原理及其工作过程
数据库·mysql
一个儒雅随和的男子6 小时前
MySQL的聚簇索引与非聚簇索引
数据库·mysql
V+zmm101348 小时前
基于微信小程序的家政服务预约系统的设计与实现(php论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计
roman_日积跬步-终至千里8 小时前
【分布式理论14】分布式数据库存储:分表分库、主从复制与数据扩容策略
数据库·分布式
hadage2338 小时前
--- Mysql事务 ---
数据库·mysql
-$_$-10 小时前
【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步
数据库·redis·缓存