(1)分别创建应用程序角色app、运维人员角色ops、开发人员读角色dev_read、开发人员写角色dev_write; (2)分别授予角色app数据读写(SELECT,INSERT,UPDATE,DELETE)权限、角色ops对数据库的所有权限(ALL PRIVILEGES)、角色dev_read读取权限(select)、角色dev_write写权限(INSERT,UPDATE,DELETE); (3)创建新用户app01、ops01、dev01、dev02、dev03; (4)给用户app01分配角色app,给用户ops01分配角色ops,给用户dev01分配dev_read角色,给dev02、dev03分配dev_read和dev_write角色; 要求:用show grants语句验证权限分配是否正确; (5)撤消用户app01的角色app; (6)删除角色app; (7)删除用户app01。
时间: 2024-02-05 12:02:29 浏览: 167
ops-vr41xx.rar_单片机开发_Unix_Linux_
1. 创建角色
```sql
-- 创建应用程序角色app
CREATE ROLE app;
-- 创建运维人员角色ops
CREATE ROLE ops;
-- 创建开发人员读角色dev_read
CREATE ROLE dev_read;
-- 创建开发人员写角色dev_write
CREATE ROLE dev_write;
```
2. 授权角色
```sql
-- 授予角色app数据读写权限
GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.* TO app;
-- 授予角色ops对数据库的所有权限
GRANT ALL PRIVILEGES ON database_name.* TO ops;
-- 授予角色dev_read读取权限(select)
GRANT SELECT ON database_name.* TO dev_read;
-- 授予角色dev_write写权限(INSERT,UPDATE,DELETE)
GRANT INSERT, UPDATE, DELETE ON database_name.* TO dev_write;
```
3. 创建用户
```sql
-- 创建新用户app01
CREATE USER app01 IDENTIFIED BY 'password';
-- 创建新用户ops01
CREATE USER ops01 IDENTIFIED BY 'password';
-- 创建新用户dev01
CREATE USER dev01 IDENTIFIED BY 'password';
-- 创建新用户dev02
CREATE USER dev02 IDENTIFIED BY 'password';
-- 创建新用户dev03
CREATE USER dev03 IDENTIFIED BY 'password';
```
4. 分配角色
```sql
-- 给用户app01分配角色app
GRANT app TO app01;
-- 给用户ops01分配角色ops
GRANT ops TO ops01;
-- 给用户dev01分配dev_read角色
GRANT dev_read TO dev01;
-- 给dev02、dev03分配dev_read和dev_write角色
GRANT dev_read, dev_write TO dev02, dev03;
```
5. 验证角色权限
```sql
-- 验证角色app的权限
SHOW GRANTS FOR app;
-- 验证角色ops的权限
SHOW GRANTS FOR ops;
-- 验证角色dev_read的权限
SHOW GRANTS FOR dev_read;
-- 验证角色dev_write的权限
SHOW GRANTS FOR dev_write;
```
6. 撤销角色
```sql
-- 撤销用户app01的角色app
REVOKE app FROM app01;
```
7. 删除角色
```sql
-- 删除角色app
DROP ROLE app;
```
8. 删除用户
```sql
-- 删除用户app01
DROP USER app01;
```
阅读全文