【MySQL篇】数据库角色

前言

        数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

CREATE ROLE:创建一个角色

GRANT:给角色授权

REVOKE:收回角色的权限

WITH ADMIN OPTION:如果指定该子句,则获得某种权限的角色或用户还可以把这种权限再授予其他角色。

1、角色的创建

 一般格式:CREATE ROLE <角色>

例子: 

CREATE ROLE R1;

刚刚创建的角色是空的,没有任何权限,需要GRANT进行授权。

2、给角色授权

一般格式: 

【MySQL篇】数据库角色_第1张图片

 数据库管理员和用户可以利用GRANT语句将权限授予某一个或几个角色。

 

3、将一个角色授予其他的角色或用户

(1)将一个角色授予其他角色

一般格式:

GRANT <角色>[,<角色>]...
TO <角色>...
[WITH ADMIN OPTION]

 例子:

将角色R1授予角色R2,且不可传播。

GRANT R1
TO R2;

将角色R1授予角色R3,可以传播

GRANT R1
TO R3
WITH ADMIN OPTION;

(2)将一个角色授予用户

GRANT <角色>[,<角色>]...
TO <用户>...
[WITH ADMIN OPTION]

例子:

 将角色R1授予用户U1,且不可传播。

GRANT R1
TO U1;

将角色R1授予用户U2,可以传播。

GRANT R1
TO U2
WITH ADMIN OPTION;

4、角色权限回收

一般格式:

REVOKE <权限> [ , <权限>]...
ON <对象类型> <对象名>
FROM <角色> [,<角色>] ...

例子:将角色R1查询Student表的权限收回。

REVOKE SELECT
ON TABLE Student
FROM R1;

 

 

你可能感兴趣的:(数据库,数据库,mysql)