-- 授予数据库权限
GRANT READ ON db_name.* TO user_name;
GRANT WRITE ON db_name.* TO user_name;
GRANT ALL ON db_name.* TO user_name;
-- 撤销权限
REVOKE READ ON db_name.* FROM user_name;
REVOKE ALL ON db_name.* FROM user_name;
-- 通配符
GRANT READ ON *.* TO user_name;
-- 所有数据库读权限
示例:分析师只读 power 库
CREATE USER analyst PASS 'Analyst@2026';
GRANT READ ON power.* TO analyst;
4. 表级权限
sql复制代码
-- 授予特定超级表权限
GRANT READ ON db_name.stable_name TO user_name;
GRANT WRITE ON db_name.stable_name TO user_name;
示例:IoT 应用只写特定超级表
CREATE USER iot_writer PASS 'IoTWriter@2026';
GRANT WRITE ON iot.sensors TO iot_writer;
GRANT WRITE ON iot.events TO iot_writer;
-- iot_writer 不能写 iot 其他表
5. Tag 级权限(细粒度)
sql复制代码
-- 基于 Tag 条件的权限
GRANT READ ON db_name.stable_name
WITH location = 'Beijing'
TO user_name;
-- 用户只能查 location='Beijing' 的子表
示例:北京分公司只看自己数据
CREATE USER beijing_team PASS 'Beijing@2026';
GRANT READ ON power.meters
WITH location = 'Beijing'
TO beijing_team;
应用场景:
- 多租户:不同租户看不同 Tag
- 区域隔离:按地域分权
- 部门隔离:按部门 Tag
6. 订阅权限
sql复制代码
-- 订阅 Topic 权限
GRANT SUBSCRIBE ON topic_name TO user_name;
REVOKE SUBSCRIBE ON topic_name FROM user_name;
-- 应用消费者用专用账号
CREATE USER tmq_consumer PASS 'Consumer@2026';
GRANT SUBSCRIBE ON my_topic TO tmq_consumer;
7. 查看权限
sql复制代码
-- 查看授予
SHOW GRANTS;
SHOW GRANTS FOR user_name;
-- 系统表
SELECT * FROM information_schema.ins_grants
WHERE user_name = 'analyst';
-- 输出示例
-- user_name | privilege | db_name | table_name | condition
-- analyst | READ | power | * | NULL
-- bj_team | READ | power | meters | location='Beijing'
-- 场景:多团队共享集群
USE power;
-- 1. 应用账号(读写)
CREATE USER app_writer PASS 'AppWriter@2026';
GRANT WRITE ON power.* TO app_writer;
CREATE USER app_reader PASS 'AppReader@2026';
GRANT READ ON power.* TO app_reader;
-- 2. 分析账号(只读,所有库)
CREATE USER analyst PASS 'Analyst@2026';
GRANT READ ON power.* TO analyst;
GRANT READ ON other_db.* TO analyst;
-- 3. 多租户隔离
CREATE USER beijing_team PASS 'BJTeam@2026';
GRANT READ ON power.meters WITH location='Beijing' TO beijing_team;
GRANT READ ON power.events WITH location='Beijing' TO beijing_team;
CREATE USER shanghai_team PASS 'SHTeam@2026';
GRANT READ ON power.meters WITH location='Shanghai' TO shanghai_team;
-- 4. 监控账号
CREATE USER monitor PASS 'Monitor@2026' SYSINFO 1;
GRANT READ ON log.* TO monitor;
GRANT READ ON performance_schema.* TO monitor;
-- 5. TMQ 消费者
CREATE USER tmq_app PASS 'TMQApp@2026';
GRANT SUBSCRIBE ON meters_topic TO tmq_app;
-- 6. 验证
SHOW USERS;
SHOW GRANTS FOR analyst;
SHOW GRANTS FOR beijing_team;
TDengine 专为物联网IoT平台、工业大数据平台设计。其中,TDengine TSDB 是一款高性能、分布式的时序数据库(Time Series Database),同时它还带有内建的缓存、流式计算、数据订阅等系统功能;TDengine IDMP 是一款AI原生工业数据管理平台,它通过树状层次结构建立数据目录,对数据进行标准化、情景化,并通过 AI 提供实时分析、可视化、事件管理与报警等功能。