在ysgl数据库中 1、用CREATE USER语句创建一个DAVID用户,从本地主机登录MySQL服务器,并指定密码为“123456”。 2、用CREATE USER语句同时创建两个用户ZHUANG和WANG,从任意主机登录MySQL服务器,并指定密码分别为“333”和“222”。 3、用ALTER语句对用户DAVID设置密码为“123”。 4、用GRANT授予用户ZHUANG访问数据库的所有权限,授予用户WANG对Employees表查看、更新的权限。 5、授予WANG每小时只能处理10条SELECT语句的权限。 6、授予DAVID每小时可以发出查询10次、每小时可以连接数据库6次、每小时可以发出更新5次的权限。 7、用REVOKE语句收回用户WANG的所有权限。 8、创建两个角色,一个写入角色,一个读取角色,授予DAVID对YSGL数据库的读写权限。
时间: 2024-03-13 18:45:12 浏览: 95
好的,以下是对您的问题的回答:
1. 创建DAVID用户并指定密码为“123456”:
```
CREATE USER 'DAVID'@'localhost' IDENTIFIED BY '123456';
```
2. 创建ZHUANG和WANG用户并指定密码为“333”和“222”,并允许他们从任意主机登录MySQL服务器:
```
CREATE USER 'ZHUANG'@'%' IDENTIFIED BY '333';
CREATE USER 'WANG'@'%' IDENTIFIED BY '222';
```
3. 修改DAVID用户的密码为“123”:
```
ALTER USER 'DAVID'@'localhost' IDENTIFIED BY '123';
```
4. 授予ZHUANG用户访问数据库的所有权限,授予WANG用户对Employees表查看、更新的权限:
```
GRANT ALL PRIVILEGES ON ysdl.* TO 'ZHUANG'@'%';
GRANT SELECT, UPDATE ON ysdl.Employees TO 'WANG'@'%';
```
5. 授予WANG用户每小时只能处理10条SELECT语句的权限:
```
GRANT USAGE ON ysdl.* TO 'WANG'@'%' WITH MAX_QUERIES_PER_HOUR 10;
```
6. 授予DAVID用户每小时可以发出查询10次、每小时可以连接数据库6次、每小时可以发出更新5次的权限:
```
GRANT USAGE ON ysdl.* TO 'DAVID'@'localhost' WITH MAX_QUERIES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 6 MAX_UPDATES_PER_HOUR 5;
```
7. 收回用户WANG的所有权限:
```
REVOKE ALL PRIVILEGES ON ysdl.* FROM 'WANG'@'%';
```
8. 创建两个角色,一个写入角色,一个读取角色,并授予DAVID用户对YSGL数据库的读写权限:
```
CREATE ROLE writer;
CREATE ROLE reader;
GRANT SELECT, INSERT, UPDATE, DELETE ON ysdl.* TO writer;
GRANT SELECT ON ysdl.* TO reader;
GRANT writer, reader TO 'DAVID'@'localhost';
```
阅读全文