首页/数据/数据库速查/角色 ROLE 与 SET ROLE 权限复用
本包目录(495 条)

角色 ROLE 与 SET ROLE 权限复用

8.0 角色把权限模板化:建角色、授角色给账号、账号激活角色,权限变更只改角色一处,回收账号时统一清理。

数据库速查数据更新于 2026-10-12
用途权限模板复用
语句CREATE ROLE / GRANT 角色 TO 账号 / SET ROLE / SET DEFAULT ROLE
属性roles 元数据持久化

角色用法

角色用法
CREATE ROLE 'r_readonly';
GRANT SELECT ON appdb.* TO 'r_readonly';
GRANT 'r_readonly' TO 'analyst'@'%';
SET DEFAULT ROLE 'r_readonly' TO 'analyst'@'%';
SELECT CURRENT_ROLE();

角色管理

角色管理
SHOW GRANTS FOR 'r_readonly';
REVOKE 'r_readonly' FROM 'analyst'@'%';
DROP ROLE 'r_readonly';
授权角色后账号并不自动激活:要么 SET DEFAULT ROLE 持久化,要么会话内 SET ROLE 显式激活,否则权限不生效。

易错点

  • partial_revokes 关闭时不能只回收角色的部分库权限,设计时要拆细角色
  • 角色创建后同名重建会失败,需要先确认角色清单

数据来源与参考

  • MySQL 8.0 Reference Manual: Using Roles

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌