MySQL用户权限配置包括赋予权限和撤销权限两个主要操作。
✅ MySQL赋予用户权限
MySQL赋予用户权限命令的简单格式可概括为:
grant 权限 on 数据库对象 to 用户 IDENTIFIED BY 密码;
❌ MySQL撤销用户权限
revoke跟grant的语法差不多,只需要把关键字”to”换成”from”即可,格式为:
revoke 权限 on 数据库对象 from 用户
🔄 权限传递授权
MySQL授权的用户,也可以将这些权限授权给其他用户。
授权命令尾部加上with grant option,格式为:
grant 权限 on 数据库对象 to 用户 IDENTIFIED BY 密码 with grant option;
📝 MySQL赋予用户权限常用例子
GRANT SELECT,INSERT,UPDATE,DELETE,
CREATE,DROP,ALTER,
INDEX,TRIGGER,ALTER ROUTINE,CREATE ROUTINE,EXECUTE,
EVENT,CREATE VIEW,SHOW VIEW,REFERENCES
on db_xxx.* TO usera@'%' IDENTIFIED BY 'passwd1';
📊 MySQL用户权限分类说明
- 数据增删改查权限:SELECT,INSERT,UPDATE,DELETE
- 表创建删除修改权限:CREATE,DROP,ALTER
- 索引触发器存储过程权限:INDEX,TRIGGER,ALTER ROUTINE,CREATE ROUTINE,EXECUTE
- 事件的创建修改删除权限:EVENT
- 视图权限:CREATE VIEW,SHOW VIEW
- 操作外键权限:REFERENCES
- 创建临时表权限:CREATE TEMPORARY TABLES
- 普通DBA权限:all privileges
- 高级DBA权限:all
🔑 MySQL赋予用户所有权限命令
grant all on *.* to dba1@'localhost'
⚠️ 注意事项
grant, revoke用户权限后,该用户只有重新连接MySQL数据库,权限才能生效。