(2022级)成都工业学院数据库原理及应用实验七: 数据库安全

本文主要是介绍(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级)成都工业学院数据库原理及应用实验七: 数据库安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/921851

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或