本文主要是介绍(2022级)成都工业学院数据库原理及应用实验七: 数据库安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面
1、基于2022级软件工程/计算机科学与技术实验指导书
2、成品仅提供参考
3、如果成品不满足你的要求,请寻求其他的途径
运行环境
window11家庭版
Navicat Premium 16
Mysql 8.0.36
实验要求
1、创建数据库hospital,在hospital数据库中创建科室表Department。创建用户CDTU_CS。
2、使用用户CDTU_CS登录,查询Department,观察结果。赋予该用户对表的查询权限,对Department表进行select、insert、udpate、delete操作,观察操作结果。根据系统反馈,进行相应授权,完成操作。
3、取消CDTU_CS对Department表的所有权限,重复上面的select、insert、udpate、delete操作。观察结果
4、创建角色role_cdtu,将角色role_cdtu赋予CDTU_CS。使用用户CDTU_CS登录,查询Department表,观察结果。赋予角色role_cdtu对Department表的查询权限,对Department表进行select、insert、udpate、delete操作,观察操作结果。
5、将对Department表的insert、udpate、delete权限赋予role_cdtu。使用用户CDTU_CS登录,对Department表进行select、insert、udpate、delete操作,观察操作结果。
6、撤销CDTU_CS所属角色role_cdtu,对Department表进行select、insert、udpate、delete操作,观察操作结果。
实验过程
1、创建数据库hospital,在hospital数据库中创建科室表Department。创建用户CDTU_CS。
a、数据库和科室表在前面实验三已经创建
b、打开navicat
c、点击用户,新建用户
d、输入用户信息
e、点击权限,添加权限
f、如下图勾选(此步骤仅为避免navicat某些硬伤,对实验基本没有影响)
g、点击确定,点击保存
2、使用用户CDTU_CS登录,查询Department,观察结果。赋予该用户对表的查询权限,对Department表进行select、insert、udpate、delete操作,观察操作结果。根据系统反馈,进行相应授权,完成操作。
a、点击连接,点击MySQL
b、输入数据库信息
c、点击确定
d、点击localhost_3306_1,点击hospital,点击department,逐级展开(中间会出现多次报错弹窗,不用管他),直到出现下图,此时没有查询权限,出现报错
e、回到刚刚的添加权限的界面,勾选select,点击保存
f、叉掉上次select的查询,点击locahost_3306_1,右键,刷新,再次点击department,此时可以看到表格显示
g、点击新建查询,输入select语句,点击运行,查询功能正常
select * form department
h、输入insert,update,delete语句,点击运行,三个功能均未授权,无法进行
INSERT INTO department ( Dept_no, Dept_name, Dept_level, Dept_hl )
VALUES("10086","中国移动","666",NULL)
UPDATE department
SET Dept_name = "中国联通"
WHEREDept_no = "12345"
DELETE
FROMdepartment
WHEREDr_no = "12345"
i、重复操作,为insert,update,delete进行授权并测试
3、取消CDTU_CS对Department表的所有权限,重复上面的select、insert、udpate、delete操作。观察结果
a、重复操作,取消select,insert,update,delete的权限并测试(不要把避免硬伤那个权限取消了)
4、创建角色role_cdtu,将角色role_cdtu赋予CDTU_CS。使用用户CDTU_CS登录,查询Department表,观察结果。赋予角色role_cdtu对Department表的查询权限,对Department表进行select、insert、udpate、delete操作,观察操作结果。
a、navicat中并没有具体的角色功能,只能用另一个用户来代替
b、点击localhost_3306,点击用户,新建用户
c、输入角色信息(角色实际上是不用设置主机和密码的,这里仅用作替代演示)
d、点击成员属于,勾选,点击保存
e、重复上面的操作,此时CDTU_CS和role_cdtu都没有select,insert,update,delete的权限,结果应该是都无法进行
5、将对Department表的insert、udpate、delete权限赋予role_cdtu。使用用户CDTU_CS登录,对Department表进行select、insert、udpate、delete操作,观察操作结果。
a、重复上面的操作,对role_cdtu进行授权并测试
6、撤销CDTU_CS所属角色role_cdtu,对Department表进行select、insert、udpate、delete操作,观察操作结果。
重复上面的操作,取消role_cdtu的权限并测试
这篇关于(2022级)成都工业学院数据库原理及应用实验七: 数据库安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!