0


mysql创建角色并授权给用户

mysql创建角色并授权给用户

CREATEDATABASE testdb;

创建角色

-- 创建角色CREATE ROLE 'admin';-- 语法CREATE ROLE [IFNOTEXISTS] role [, role ]...

角色授权

-- 角色授权GRANTALLON testdb.*TO'admin'WITHGRANTOPTION;CREATE ROLE 'test';GRANTSELECT,INSERT,DELETE,UPDATEON testdb.*TO'test';--  语法GRANT role [, role]...TO user_or_role [, user_or_role]...[WITH ADMIN OPTION]

角色授权给用户

创建用户

CREATEUSER'admin'@'%' IDENTIFIED BY'1qaz@wsx';

角色授权给用户

设置用户默认角色的语法

-- 设置默认角色SETDEFAULT ROLE 'admin'TO'admin'@'%';-- 语法SETDEFAULT ROLE  {NONE |ALL| role [, role ]...}  TOuser[,user]...

服务器应视为必需的角色。实际上,这些 角色会自动授予每个用户,尽管 设置mandatory_roles 实际上不会更改任何用户帐户和授予的角色 在系统表中不可见。

mysql8开启角色自动激活

  1. 修改myd.cnf配置文件#设置角色激活开启activate-all-roles-on-login=ON
  2. 命令手动开启 这个方式,会在mysql服务重启后失效#设置开启setglobal activate_all_roles_on_login=ON;-- 查看是否开启show variables like'activate_all_roles_on_login';

当这个配置开启,服务器将在账号登录时,自动激活账号被授予所有角色。并且,优先于

SET DEFAULT ROLE

设置的默认值。

如果禁用

activate_all_roles_on_login

,服务器只会激活默认角色 。

更换会话的角色

SET ROLE DEFAULT;--激活默认角色SET ROLE 'role1','role2';SET ROLE ALL;-- 激活所有角色SET ROLE ALLEXCEPT'role1','role2';-- 语法SET ROLE { DEFAULT| NONE|ALL|ALLEXCEPT role [, role ]...| role [, role ]...}

设置服务器默认角色(不重要)

SET PERSIST mandatory_roles ='`role1`@`%`,`role2`,role3,role4@localhost';

服务器视为必需的角色。这些 角色会自动授予每个用户,设置

mandatory_roles

实际上不会更改任何用户帐户和授予的角色,在系统表中也不可见。

撤销授权

REVOKEINSERTON*.*FROM'jeffrey'@'localhost';REVOKE'role1','role2'FROM'user1'@'localhost','user2'@'localhost';REVOKESELECTON world.*FROM'role3';-- 语法REVOKE[IFEXISTS] PROXY ON user_or_role FROM user_or_role [, user_or_role]...[IGNORE UNKNOWN USER]

其他相关内容

  • 刷新授权flush hosts;-- 当修改授权后,使用这个命令来刷新授权。FLUSH PRIVILEGES;
  • 查看当前角色SELECT CURRENT_ROLE();
  • 查看授权SHOW GRANTS;SHOW GRANTS FORCURRENT_USER;SHOW GRANTS FORCURRENT_USER();SHOW GRANTS FOR'username'@'%';--查看某个用户授权

role的值有:

  • ALL PRIVILEGES: 所有权限
  • CREATE: 创建数据库和表的权限。
  • DROP: 删除数据库和表的权限。
  • ALTER: 修改表结构的权限。
  • INSERT: 向表中插入数据的权限。
  • SELECT: 查询表中数据的权限。
  • UPDATE: 修改表中数据的权限。
  • DELETE: 删除表中数据的权限。
标签: mysql

本文转载自: https://blog.csdn.net/blood_Z/article/details/129862139
版权归原作者 万山寒 所有, 如有侵权,请联系我们删除。

“mysql创建角色并授权给用户”的评论:

还没有评论