1.在服务器下创建一个名为“user12”的登陆名,密码为“123456”。 2.将该登陆名“user12”注册为“XSCJGL”数据库的用户。 3.给“user12”用户赋予“student”和“sc”的查询、插入权限。 4.赋予“user12”创建表的权限。 5.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 6.利用管理员身份,禁止用户“user12”所获得的权限。(deny) 7.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。 8.利用管理员身份,收回用户“user12”所获得的权限。(revoke) 9.使用“user12”身份登陆,并验证所获得的查询、插入、创建表权限。
时间: 2023-09-20 20:05:56 浏览: 96
ansible-user:为基于SSH密钥的登录名和无密码sudo创建和配置用户
以下是针对您提出的问题的解答:
1. 使用管理员账号登录MySQL,执行以下命令创建user12账号并设置密码:
```
CREATE USER 'user12'@'localhost' IDENTIFIED BY '123456';
```
2. 授权user12账号访问XSCJGL数据库:
```
GRANT USAGE ON *.* TO 'user12'@'localhost';
GRANT ALL PRIVILEGES ON `XSCJGL`.* TO 'user12'@'localhost';
```
3. 给user12用户赋予student和sc表的查询、插入权限:
```
GRANT SELECT, INSERT ON `XSCJGL`.`student` TO 'user12'@'localhost';
GRANT SELECT, INSERT ON `XSCJGL`.`sc` TO 'user12'@'localhost';
```
4. 赋予user12创建表的权限:
```
GRANT CREATE TABLE ON `XSCJGL`.* TO 'user12'@'localhost';
```
5. 使用以下命令以user12身份登录MySQL,并验证所获得的权限:
```
mysql -u user12 -p
```
输入密码后,执行以下命令测试权限:
```
USE XSCJGL;
SELECT * FROM student;
INSERT INTO student VALUES ('001', '张三', '男', 20, '计算机科学与技术');
SELECT * FROM sc;
INSERT INTO sc VALUES ('001', '001', 80);
CREATE TABLE test (id INT, name VARCHAR(20));
```
如果没有报错并成功执行,则表明user12获得了相应的权限。
6. 使用管理员账号登录MySQL,执行以下命令禁止user12所获得的权限:
```
DENY SELECT, INSERT ON `XSCJGL`.`student` TO 'user12'@'localhost';
DENY SELECT, INSERT ON `XSCJGL`.`sc` TO 'user12'@'localhost';
DENY CREATE TABLE ON `XSCJGL`.* TO 'user12'@'localhost';
```
7. 使用以下命令以user12身份登录MySQL,并验证所获得的权限:
```
mysql -u user12 -p
```
输入密码后,执行以下命令测试权限:
```
USE XSCJGL;
SELECT * FROM student;
INSERT INTO student VALUES ('001', '张三', '男', 20, '计算机科学与技术');
SELECT * FROM sc;
INSERT INTO sc VALUES ('001', '001', 80);
CREATE TABLE test (id INT, name VARCHAR(20));
```
如果出现“ERROR 1142 (42000): 没有此权限”等类似错误,则表明user12被禁止了相应的权限。
8. 使用管理员账号登录MySQL,执行以下命令收回user12所获得的权限:
```
REVOKE SELECT, INSERT ON `XSCJGL`.`student` FROM 'user12'@'localhost';
REVOKE SELECT, INSERT ON `XSCJGL`.`sc` FROM 'user12'@'localhost';
REVOKE CREATE TABLE ON `XSCJGL`.* FROM 'user12'@'localhost';
```
9. 使用以下命令以user12身份登录MySQL,并验证所获得的权限:
```
mysql -u user12 -p
```
输入密码后,执行以下命令测试权限:
```
USE XSCJGL;
SELECT * FROM student;
INSERT INTO student VALUES ('001', '张三', '男', 20, '计算机科学与技术');
SELECT * FROM sc;
INSERT INTO sc VALUES ('001', '001', 80);
CREATE TABLE test (id INT, name VARCHAR(20));
```
如果出现“ERROR 1142 (42000): 没有此权限”等类似错误,则表明user12已经被收回了相应的权限。
阅读全文