首页 > 编程笔记 > MySQL笔记 阅读:42

MySQL角色的创建、修改和删除(附带实例)

MySQL 8.0 数据库中,角色可以看成是一些权限的集合,可以为用户赋予统一的角色,权限的修改直接通过角色来进行,无须为每个用户单独授权。

下面通过示例来学习如何管理角色。
1) 创建角色,执行语句如下:
mysql> CREATE ROLE role_tt; # 创建角色
Query OK, 0 rows affected (0.02 sec)

2) 给角色授予权限,执行语句如下:
mysql> GRANT SELECT ON db.* to 'role_tt'; # 给角色role_tt授予查询权限
Query OK, 0 rows affected (0.10 sec)

3) 创建用户 myuser1,执行语句如下:
mysql> CREATE USER 'myuser1'@'%' identified by '123456';
Query OK, 0 rows affected (0.07 sec)

4) 为用户 myuser1 赋予角色 role_tt,执行语句如下:
mysql> GRANT 'role_tt' TO 'myuser1'@'%';
Query OK, 0 rows affected (0.02 sec)

5) 为角色 role_tt 增加 INSERT 权限,执行语句如下:
mysql> GRANT INSERT ON db.* to 'role_tt';
Query OK, 0 rows affected (0.08 sec)

6) 为角色 role_tt 删除 INSERT 权限,执行语句如下:
mysql> REVOKE INSERT ON db.* FROM 'role_tt';
Query OK, 0 rows affected (0.10 sec)

7) 查看角色与用户关系,执行语句如下:
mysql> SELECT * FROM mysql.role_edges;
+-----------+-----------+---------+---------+-------------------+
| FROM_HOST | FROM_USER | TO_HOST | TO_USER | WITH_ADMIN_OPTION |
+-----------+-----------+---------+---------+-------------------+
| %         | role_tt   | %       | myuser1 | N                 |
+-----------+-----------+---------+---------+-------------------+
1 row in set (0.00 sec)

8) 删除角色 role_tt,执行语句如下:
mysql> DROP ROLE role_tt;
Query OK, 0 rows affected (0.04 sec)

相关文章