《数据库系统原理》实验10:数据库的安全性设计

一、实验目的

加深对数据安全性的理解,并掌握Navicat中有关用户,角色及操作权限的管理方法。

二、实验内容

1、在Navicat中,管理建立用户和分配用户权限。

在这里,我们可以发现root是MySQL最高级别权限的用户,它拥有查看、修改和删除MySQL软件中所有数据库的权限。当需要有多个数据库,并且分配给不同的用户使用,多个用户之间只有查看自己对应数据库的权限,不相互干扰, 需要建立多个数据库和用户,给用户设置管理指定数据库的权限。

操作方法如下:

①   右键点击“MySQL” 连接,选择“连接属性”,将“保存密码”取消。

《数据库系统原理》实验10:数据库的安全性设计_第1张图片

②鼠标右键点击“MySQL” 连接,选择“创建数据库”,创建名为xunmei的数据库,字符集选择utf8 -- UTF-8 Unicode排序规则选择utf8_general_ci。

《数据库系统原理》实验10:数据库的安全性设计_第2张图片

③打开数据库xunmei后,点击界面上方的“用户”—“新建用户”—输入用户名“xmuser”、主机“localhost”、密码“1234”—保存(服务器权限自行定义)。

《数据库系统原理》实验10:数据库的安全性设计_第3张图片

④点选新建的用户xmuser—编辑用户—权限—添加权限--选择数据库xunmei,添加相应权限(可不全选),如下图所示:

《数据库系统原理》实验10:数据库的安全性设计_第4张图片

⑥设置到此完成。为了验证我们的设置是否正确,我们可以用刚才建立的用户xmuser和密码1234来连接localhost主机地址(方法:关闭连接MySQl,该连接属于最高权限用户root。我们用新用户新建一个到localhost的连接来模拟不同用户使用数据库的过程)。连上后,可使用用户xmuser对数据库xunmei或其他数据库进行操作,看是否与自己设置的权限相吻合。(可只添加添加少量权限,然后尝试在xunmei里进行操作,看是否能成功)。

《数据库系统原理》实验10:数据库的安全性设计_第5张图片

SELECT语句成功执行

《数据库系统原理》实验10:数据库的安全性设计_第6张图片

删除数据表无法执行,与设置的权限相吻合

 

三、课后练习题

1、使用两个不同的用户通过Navicat和查询分析器查看world数据库中country、city两个表的所有数据。

《数据库系统原理》实验10:数据库的安全性设计_第7张图片

《数据库系统原理》实验10:数据库的安全性设计_第8张图片

《数据库系统原理》实验10:数据库的安全性设计_第9张图片

《数据库系统原理》实验10:数据库的安全性设计_第10张图片

2、删除用户xmuser,尝试新建另一个用户来管理数据库、表等:

添加新用户对数据库world的权限,比较在有无相关权限的情况之下进行操作的区别:

①     Create。尝试新建表

②     Update。尝试修改表数据或结构

③     ……..(自行设计,总共尝试5组,进行对比)

有权限时均正常执行

无权限时:

①   SELECT语句

《数据库系统原理》实验10:数据库的安全性设计_第11张图片

②   CREATE语句:

《数据库系统原理》实验10:数据库的安全性设计_第12张图片

③   UPDATE语句:

《数据库系统原理》实验10:数据库的安全性设计_第13张图片

④   DELETE语句:

⑤   DROP语句:

 

四、思考题

1、解释10个数据库操作权限的含义和影响。

(1)CREATE和DROP权限,可以创建数据库、表、索引,或者删除已有的数据库、表、索引。

(2)INSERT、DELETE、UPDATE、SELECT权限,可以对数据库中的表进行增删改查操作。

(3)INDEX权限,可以创建或删除索引,适用于所有的表。

(4)ALTER权限,可以用于修改表的结构或重命名表。

(5)GRANT权限,允许为其他用户授权,可用于数据库和表。

(6)FILE权限,被赋予该权限的用户能读写MySQL服务器上的任何文件。

 

五、出现的问题及解决方案

问题:

ORDER BY关键字降序排序问题

SQL AND & OR 运算符与优先级问题

WHERE语句的特殊条件——例如is null、between and、like模糊查询等问题

Enum枚举类型的设定值问题

CHECK语句约束不起作用问题

解决方案:

参考《数据库系统概论课本》、菜鸟教程(https://www.runoob.com/sql)、CSDN博客和MySQL参考手册(https://dev.mysql.com/doc/)

你可能感兴趣的:(实验,考试与课设)