mysql如何使用角色权限_mysql角色权限分配方法

25次阅读

mysql 8.0引入角色功能以简化权限管理,通过CREATE ROLE创建角色并用GRANT授予权限,再将角色分配给用户;需使用SET default ROLE或SET ROLE激活权限,可通过REVOKE撤销权限或删除角色前解除用户关联,合理划分角色可降低管理复杂度。

mysql如何使用角色权限_mysql角色权限分配方法

MySQL从8.0版本开始引入了角色(Role)功能,使得权限管理更加灵活和高效。通过角色,可以将一组权限打包分配给用户,简化权限维护工作。下面介绍如何在MySQL中使用角色进行权限分配。

创建和管理角色

角色本质上是一个特殊的用户名,不包含登录权限,仅用于权限的集合管理。

创建角色:

CREATE ROLE ‘app_developer’, ‘app_readonly’, ‘app_dba’;

这条命令创建了三个角色,尚未分配任何权限。

为角色授予权限:

GRANT select, INSERT, UPDATE, delete ON app_db.* TO ‘app_developer’;
GRANT SELECT ON app_db.* TO ‘app_readonly’;
GRANT ALL PRIVILEGES ON *.* TO ‘app_dba’;

将角色分配给用户

创建好角色后,可以将其赋予具体用户。

GRANT ‘app_developer’ TO ‘user1’@’localhost’;
GRANT ‘app_readonly’ TO ‘user2’@’localhost’;

注意:用户被授予角色后,并不会自动激活这些角色权限。需要设置默认角色或手动激活。

设置默认角色和激活角色

为了让用户登录后自动拥有角色权限,需设置默认角色。

mysql如何使用角色权限_mysql角色权限分配方法

eshop网上书店源码

适合初学的标准三层架构,采用ajax,页面布局div+css符合w3c,用vs自带的sqlserver,免配置sqlserver,使用方便,里面共有5个项目,点击最外层的.sln直接可运行。网站采用asp.net 用户角色配置(membership,UserRoles),用户角色、权限可在asp.net配置里修改,注册,登陆均采用asp.net登陆控件,网站根据用户角色自定义sitemap,基本上

mysql如何使用角色权限_mysql角色权限分配方法 0

查看详情 mysql如何使用角色权限_mysql角色权限分配方法

SET DEFAULT ROLE ‘app_developer’ TO ‘user1’@’localhost’;

如果不想设为默认,也可以在会话中手动启用:

SET ROLE ‘app_developer’;

查看当前生效的角色:

SELECT CURRENT_ROLE();

撤销权限与删除角色

如需收回角色权限:

REVOKE INSERT, UPDATE ON app_db.* FROM ‘app_developer’;

撤销用户的角色:

REVOKE ‘app_readonly’ FROM ‘user2’@’localhost’;

删除角色(需先解除所有用户关联):

DROP ROLE ‘app_readonly’;

基本上就这些操作。合理使用角色能大幅降低权限管理复杂度,特别是在用户数量多、权限结构复杂的场景下。建议按业务职能划分角色,比如开发、测试、运维等,并定期审计权限分配情况。

text=ZqhQzanResources