MySQL角色的创建、修改和删除(附带实例)
在 MySQL 8.0 数据库中,角色可以看成是一些权限的集合,可以为用户赋予统一的角色,权限的修改直接通过角色来进行,无须为每个用户单独授权。
下面通过示例来学习如何管理角色。
1) 创建角色,执行语句如下:
2) 给角色授予权限,执行语句如下:
3) 创建用户 myuser1,执行语句如下:
4) 为用户 myuser1 赋予角色 role_tt,执行语句如下:
5) 为角色 role_tt 增加 INSERT 权限,执行语句如下:
6) 为角色 role_tt 删除 INSERT 权限,执行语句如下:
7) 查看角色与用户关系,执行语句如下:
8) 删除角色 role_tt,执行语句如下:
下面通过示例来学习如何管理角色。
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)