在本地主机创建用户账号st_01,密码为123456。 CREATE user st_01@localhost IDENTIFIED by ‘123456’; 2.查看MySQL下所有用户账号列表。 USE mysql; SELECT * FROM user;
3.修改用户账号st_01的密码为111111。 SET PASSWORD FOR st_01@localhost=‘111111’; 4. 使用studentsdb数据库中的student_info表。 (1)授予用户账号st_01查询表的权限。 GRANT SELECT ON TABLE studentsdb.student_info TO st_01@localhost ; (2)授予用户账号st_01更新家庭住址列的权限。 GRANT UPDATE(家族住址) ON TABLE student.student_info TO st_01@localhost; (3)授予用户账号st_01修改表结构的权限。 GRANT ALTER ON student.student_info TO st_01@localhost; 5. 使用studentsdb数据库中的student_info表。 (1)创建存储过程cn_proc,统计student_info表中的学生人数。 DELIMITER @@ CREATE PROCEDURE cn_proc() BEGIN SELECT COUNT(*) FROM student_info; END@@ DELIMITER;
(2)授予用户账号st_01调用cn_proc存储过程的权限。 GRANT EXECUTE ON PROCEDURE STUDENTDB.CN_PROC TO st_01@localhost; (3)以用户账号st_01连接MySQL服务器,调用cn_proc存储过程查看学生人数。 CALL CN_PROC();
使用studentsdb数据库。 (1)授予用户账号st_01在studentsdb数据库上创建表、删除表、查询数据、插入数据的权限。 (2)以用户账号st_01连接MySQL服务器,创建新表st_copy,与表student_info完全相同。 (3)以用户账号st_01连接MySQL服务器,删除表st_copy。 GRANT CREATE,DROP,SELECT,INSERT ON studentdb TO st_01@localhost; DROP TABLE st_copy; 7.撤消用户账号st_01在studentsdb数据库上创建表、删除表、查询数据、插入数据的权限。 REVOKE CREATE,DROP,SELECT,INSERT ON studentdb.student_info FROM st_01; 8.撤消用户账号st_01所有权限. REVOKE ALL PRIVILEGES,GRANT OPTION FROM st_01@localhost;
使用studentsdb数据库中的student_info表。 (1)创建本地机角色student。(MySQL 8.0版本可做) (2)授予角色student查询student_info表的权限。(MySQL 8.0版本可做) (3)创建本地机用户账号st_02,密码为123。 (4)授予用户账号st_02角色student的权限。 (5)以用户账号st_02连接MySQL服务器,查看student_info表信息。 (6)撤消用户账号st_02角色student的权限。 (7)删除角色student。(MySQL 8.0版本可做) use mysql; CREATE ROLE ‘student’@‘localhost’; (2) grant select on studentdb.student_info to ‘student’@‘localhost’; (3) create user st_02@localhost identied by ‘123’; (4) grant ‘student’@‘localhost’ to st_02@localhost;
(5) select * from studentdb.student_info; (6) revoke all privileges,grant option from ‘student’@‘localhost’; (7) drop role ‘student’@‘localhost’; 9.删除用户账号st_01、st_02。 DROP user st_01@localhost,st_02@localhost; 四、实验思考
角色在用户账号连接服务器后自动被激活的设置方法。 set global activate_all_roles_on_login=ON; 4.with grant option选项的作用是什么? WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。 五、实验总结 1、收获 通过这次实验,掌握了用户创建和授权方法,理解了数据库安全性的内容,学会了创建登录用户并向其授予数据库访问权限。 2、存在的问题 刚开始时没有分清登录账号和用户账号之间的差别。