精细权限管制示例
  CREATE USER 'strict'@'%' IDENTIFIED BY 'password';   --创建用户
 1
GRANT ALL PRIVILEGES ON <数据库名>.* TO 'strict'@'%'; 的权限可以拆分为以下具体权限语句。以下是基于数据库层级的完整拆分,覆盖所有操作类型:
一、数据操作权限
- 基础增删改查
GRANT SELECT, INSERT, UPDATE, DELETE ON <数据库名>.* TO 'strict'@'%'; -- 数据读写权限1 
二、结构操作权限
数据库对象管理
GRANT CREATE, ALTER, DROP ON <数据库名>.* TO 'strict'@'%'; -- 创建/修改/删除库、表、视图等结构1索引与外键
GRANT INDEX, REFERENCES ON <数据库名>.* TO 'strict'@'%'; -- 创建索引和外键约束1
三、高级功能权限
临时表与锁表
GRANT CREATE TEMPORARY TABLES, LOCK TABLES ON <数据库名>.* TO 'strict'@'%'; -- 临时表操作与并发控制1存储过程与函数
GRANT EXECUTE, ALTER ROUTINE, CREATE ROUTINE ON <数据库名>.* TO 'strict'@'%'; -- 执行和修改存储程序1视图管理
GRANT CREATE VIEW, SHOW VIEW ON <数据库名>.* TO 'strict'@'%'; -- 视图操作权限1事件与触发器
GRANT EVENT, TRIGGER ON <数据库名>.* TO 'strict'@'%'; -- 事件调度和触发器操作1
四、权限传递(可选)
若需允许用户授权他人,需单独添加:
GRANT GRANT OPTION ON <数据库名>.* TO 'strict'@'%';  -- 允许用户授予他人权限
 1
五、完整拆分后的权限列表
将上述所有权限合并后,完整的拆分语句如下:
-- 数据操作
GRANT SELECT, INSERT, UPDATE, DELETE ON <数据库名>.* TO 'strict'@'%';
-- 结构操作
GRANT CREATE, ALTER, DROP, INDEX, REFERENCES ON <数据库名>.* TO 'strict'@'%';
-- 高级功能
GRANT CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE VIEW, SHOW VIEW, EVENT, TRIGGER ON <数据库名>.* TO 'strict'@'%';
 1
2
3
4
5
6
2
3
4
5
6
注意事项
权限生效:执行
FLUSH PRIVILEGES;使权限生效。权限范围:
•ALL PRIVILEGES在数据库层级不包含全局权限(如FILE、SUPER),仅限数据库内操作。• 列级权限需单独指定(如
GRANT SELECT(col1)),默认不包含在ALL PRIVILEGES中。安全建议:
• 按需授予最小权限,例如生产环境慎用DROP或GRANT OPTION。• 若需限制用户仅能本地访问,将
'%'改为'localhost'。
编辑  (opens new window)
  上次更新: 2025/06/13, 00:51:28