介绍

其实influxdb的权限语法和mysql基本相似,看完以后你基本就能了解;

授权语法

  1. 创建用户:CREATE USER <username> WITH PASSWORD '<password>'
  2. 授权权限:GRANT [READ,WRITE,ALL] ON <database_name> TO <username>
  3. 创建并授权:CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
  4. 取消授权:REVOKE ALL PRIVILEGES FROM <username>
  5. 修改密码:SET PASSWORD FOR <username> = '<password>'
  6. 删除用户:DROP USER <username>

开启登录认证 vim /etc/influxdb/influxdb.conf

[http]
auth-enabled = true

[root@localhost tmp]# influx

Connected to http://localhost:8086 version 1.7.1
InfluxDB shell version: 1.7.1
Enter an InfluxQL query
> show databases
ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
> auth
username: monitor
password:
> show databases
name: databases
name
----
_internal
zabbix
telegraf
chronograf
> quit

授权操作

1.创建超级用户 创建用户:monitor 密码:zabbix 权限:全部权限(超级用户) create user monitor with password 'zabbix' with all privileges

2.创建只读用户 用户:monitor_ro 数据库:monitordb 权限:指定数据库的只读权限

create user monitor_ro with password 'zabbix_apipwd' grant read on monitordb to monitor_ro

3.创建可以写用户 用户:monitor_rw 数据库:monitordb 权限:指定数据库的写权限

create user monitor_rw with password 'zabbix_apipwd' grant write on monitordb to monitor_rw

4.取消用户授权 取消用户授权:

REVOKE ALL PRIVILEGES FROM monitor_rw

5.查看所有用户

SHOW USERS user admin


monitor true monitor_ro false monitor_rw false

6.删除用户

DROP USER monitor_rw