首页/数据/数据库速查/MySQL 8.0 动态权限与 SYSTEM_USER

MySQL 8.0 动态权限与 SYSTEM_USER

8.0 把 SUPER 拆成细粒度动态权限(SYSTEM_VARIABLES_ADMIN、BACKUP_ADMIN、REPLICATION_APPLIER 等),最小授权可按需精确到操作。

数据库速查数据更新于 2026-10-12
用途细粒度管理权限
常用SYSTEM_VARIABLES_ADMIN / BACKUP_ADMIN / REPLICATION_SLAVE_ADMIN / CONNECTION_ADMIN
特殊SYSTEM_USER 区分普通与系统用户

授权示例

授权示例
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO 'ops'@'10.10.%';
GRANT BACKUP_ADMIN ON *.* TO 'backup'@'localhost';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'10.0.%';
-- 查看动态权限
SELECT * FROM mysql.global_grants WHERE USER='ops';
迁移到 8.0 后若旧脚本依赖 SUPER,逐个映射到对应动态权限,而不是继续兜底给 SUPER。

易错点

  • 动态权限与静态权限混用时要一起列入 SHOW GRANTS 核对,容易漏查
  • mysql.global_grants 是新增系统表,5.7 没有,审计脚本要做版本分支

数据来源与参考

  • MySQL 8.0 Reference Manual: Dynamic Privileges

相关工具

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