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时,应确保已正确安装并配置了数据库环境。
对于生产环境中的数据操作,建议先在测试环境中进行验证,以避免数据丢失或损坏。

相关推荐
躺平的花卷4 分钟前
Python爬虫案例六:抓取某个地区某月份天气数据并保存到mysql数据库中
数据库·爬虫·python·mysql
Flying_Fish_roe17 分钟前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
A_cot29 分钟前
Redis 的三个并发问题及解决方案(面试题)
java·开发语言·数据库·redis·mybatis
2401_847056551 小时前
Altium Designer脚本工具定制
网络·数据库
神仙别闹1 小时前
基于Python+SQLite的课程管理系统
数据库·sqlite
掐指一算乀缺钱1 小时前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
少年负剑去2 小时前
django分发路由
数据库·django·sqlite
飞翔的佩奇2 小时前
xxl-job适配sqlite本地数据库及mysql数据库。可根据配置指定使用哪种数据库。
数据库·spring boot·mysql·sqlite·xxl-job·任务调度
吱吱鼠叔2 小时前
MATLAB数据文件读写:1.格式化读写文件
前端·数据库·matlab
小哇6662 小时前
spring-TransactionTemplate 编程式事务
数据库·spring